C语言高手进

输入一个数组,然后从小到大排序,最后插入一个数字,重新从小到大排序。帮忙修改一下,谢谢了...
#include <stdio.h>
int main()
{
int a[100],b[100],i,j,k,x,p;

printf("请输入数组:\n");
for(i=0;a[i]!='\0';i++)
{
scanf("%d",&a[i]);
}
for(k=0;k<i-1;k++)
{
for(j=0;j<i-1-k;j++)
{
if(a[j]>a[j+1])
{
m=a[j];
a[j]=a[j+1];
a[j+1]=m;
}
}
}
printf("请输入要出入的数字:\n");
scanf("%d",&x);
for(k=0,p=i;k<i;k++)
if(x<a[i])
{
p=k;
break;
}

for(i=N-1;i>=p;i--)
{a[i+1]=a[i]; }

a[i+1]=x;
printf("结果为:\n");
for(k=0;k<i+1;k++)
{
printf("%2d",a[k]);
}
return 0;
}

第1个回答  2011-10-25
首先你确定你每次都是100个数么?你定义了a[100],
for(i=0;a[i]!='\0';i++)
scanf("%d",&a[i]);
这种情况下没输到100个数程序是不会往下跑的。
第二,m和N都没定义,你可以先提示输入数组个数存入N中,然后再输入数组
第三.....懒得再看了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网