输入N个整数,存入一个数组中。

1)应用某种排序算法将这N个数有大到小的顺序排序,输出排序的结果并存入原数组中。
2)输入一个新数,把它插入到排好序的数列中,是新数列仍然有序,同时输出新的数列。
要求:定义三个函数分别实现输出数列,排序算法和插入功能。

#include "stdio.h"
#define N 10
void bubble_sort(int array[],int n)
{//冒泡法排序
int i,j,flag,temp;
for(i = 0; i < n-1; i++)
{
flag = 1;
for(j = 0; j < n-i-1; j++)
{
if(array[j] > array[j+1])
{
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
flag = 0;
}
}
if(1 == flag)break;
}
}
void insert(int a[],int num)
{//插入数据
int i,j;
for(i=0;i<N;i++)
{
if (num>a[i])continue;
for (j=N;j>i;j--)a[j]=a[j-1];
break;
}
a[i]=num;
}
void print(int a[],int n)
{//输出
int i;
for(i = 0; i < n; i++)printf("%d ",a[i]);
printf("\n");
}
void main()
{
int a[N+1],i,num;
printf("请输入%d个数字:",N);
for (i=0;i<N;i++)scanf("%d",&a[i]);
bubble_sort(a,N);//用冒泡法排序
printf("排序后:");
print(a,N);//输出
printf("输入要插入的数字:");
scanf("%d",&num);
insert(a,num);//插入数据
printf("插入后:");
print(a,N+1);//输出
}
温馨提示:答案为网友推荐,仅供参考