定义了一个长度为11的数组,先输入10个数排序,再输入一个数插入其中进行排序。
但是会出现随机数,求各位指点
供参考:
#include<stdio.h>
const int N = 11;
int main()
{
int n = 10, x, i, j;
int a[N];
scanf("%d", &n); //输入 n
for (i = 0; i < n; i++) // 输入n个数组元素
scanf("%d", &a[i]);
for (i = n - 1;i > 0; i--){ //降序排序
for (j = 0;j < i; j++){
if (a[j] < a[j+1])
x = a[j], a[j] = a[j+1], a[j+1] = x;
}
}
scanf("%d", &x); //输入 x: 待插入的数
if (x < a[n - 1]){ // 插入操作
a[n] = x;
}
else{
for (i = n; x > a[i - 1] && i > 0; i--) {
a[i] = a[i - 1];
}
a[i] = x;
}
for (i = 0; i < n + 1; i++)//输出 插入后的有序数列
printf("%4d", a[i]);
printf("\n");
return 0;
}