题目内容:
编写程序,在主函数中定义一个有10个元素的整型一维数组,用户输入9个数据,调用函数,对数组元素进行从小到大排序后,在函数中输入一个数,插入到数组中正确的位置,并输出。
输入格式:
9个整数和1个整数
输出格式:
10个整数
输入样例:
2,3,1,5,6,76,89,31,90[回车]
7[回车]
输出样例:
1,2,3,5,6,7,31,76,89,90[回车]
#include <stdio.h>
int main()
{
void sort(int *b,int n);
void insert(int *a,int num);
int a[10],i,num,j;
for(i=0;i<9;i++)
scanf("%d,",&a[i]);
sort(a,9);
scanf("%d,",&num);
insert(a,num);
for(i=0;i<9;i++)
printf("%d,",a[i]);
printf("%d",a[9]);
return 0;
}
void insert(int *a,int num)
{
int i,j;
for(i=8;i>=0;i--)
{
if(num>=a[i])
{
for(j=9;j>i;j--)
{
a[j]=a[j-1];
}
a[i+1]=num;
break;
}
}
}
void sort(int *b,int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
{
if(b[j]>b[j+1])
{
t=b[j];b[j]=b[j+1];b[j+1]=t;
}
}
}