简单的程序,想拿分的进啊

来源:百度知道 编辑:UC知道 时间:2024/05/21 08:09:56
#include<stdio.h>
main()
{int a[11],i,k=0,max,n=10;
printf("从小到大顺序输入:\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("\n");
printf("输入要插入的数:\n");
scanf("%d",&max);
printf("\n");
for(i=0;i<n;i++)
{if(max<=a[i])
k=i;}
for(i=n-1;i>=k;i--)
a[i+1]=a[i];
a[k]=max;
printf("输出如下:\n");
for(i=0;i<n+1;i++)
printf("%d ",a[i]);
}
输入2,4,6,8,10,12,14,16,18,20
再输入7
输出2,4,6,8,10,12,14,16,18,7,20
得不到我想要的结果

修改如下,加个break就好了:

#include<stdio.h>
main()
{
int a[11],i,k=0,max,n=10;

printf("从小到大顺序输入:\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("\n");

printf("输入要插入的数:\n");
scanf("%d",&max);
printf("\n");

for(i=0;i<n;i++)
{
if(max<=a[i])
{
k=i;
break;/////找到位置后,要赶紧退出循环
}
}
for(i=n-1;i>=k;i--)
a[i+1]=a[i];
a[k]=max;

printf("输出如下:\n");
for(i=0;i<n+1;i++)
printf("%d ",a[i]);
}

for(i=0;i<n;i++)
{if(max<=a[i])
k=i;}

这里的if条件有问题,改成
如果 max<=a【i】且max>a[i-1]试试

哥们,分数还是少了点啊……所以没仔细看,对不起啊

没看明白
????????????????

啥意思?