一个C语言问题,想的头快爆了
编写程序,从键盘输入n 个由小到大的顺序排好的数列和一个数insert_value,把insert_value 插入到由这n 个数组成的数列中,而且仍然保持由小到大的顺序,若insert_value
比原有所有的数都大时放在最后,比原有的数都小时放在最前面。
#include<stdio.h>
#define n 11
void main()
{int a[n],i,t;
printf("按顺序输入数字\n");
for(i=0;i<n-1;i++)
scanf("%d",&a[i]);
printf("输入一个数字\n");
scanf("%d",&a[n-1]);
for(i=n-1;i>=0;i--)
if(a[i]<a[i-1])
{
t=a[i];
a[i]=a[i-1];
a[i-1]=t;
}
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
为什么运行的时候出现这种情况;
1 3 5 7 9 11 13 15 17 19 回车
10 回车
运行结果:1246 3 5 7 9 10 11 13 15 17 19
或
8 12 13 14 15 18 19 20 25 30 回车
24回车
运行结果:1246 12 13 14 15 18 19 20 24 25 30