C语言程序题:给一个数组排序后插入一个数按原来大小顺序输出。为什么这个程序这样写不对?

C语言程序题:给一个数组排序后插入一个数按原来大小顺序输出,为什么这个程序这样写不对?#includevoidmain(){inti,j,p,q,s,n,a[11]={1... C语言程序题:给一个数组排序后插入一个数按原来大小顺序输出,为什么这个程序这样写不对?#includevoid main(){ int i,j,p,q,s,n,a[11]={127,3,6,28,54,68,87,105,162,18}; for(i=0;i<9;i++) {p=i; for(j=p+1;j<10;j++)>a[p]) {q=a[i];a[i]=a[j];a[j]=q;} printf("%d ",a[i]); } //排序部分,测试成功 printf("input a number:"); scanf("%d",&n); for(i=0;i<10;i++) {if(a[i]=i;s--) a[s+1]=a[s]; break; }
C语言程序题:给一个数组排序后插入一个数按原来大小顺序输出,为什么这个程序这样写不对?
#include<stdio.h>

void main()

{
int i,j,p,q,s,n,a[11]={127,3,6,28,54,68,87,105,162,18};
for(i=0;i<9;i++)
{p=i;
for(j=p+1;j<10;j++)
if(a[j]>a[p])
{q=a[i];a[i]=a[j];a[j]=q;}
printf("%d ",a[i]);
} //排序部分,测试成功
printf("input a number:");
scanf("%d",&n);
for(i=0;i<10;i++)
{if(a[i]<n) //这里左括号的位置放在下一行是正确的,为什么???有什么区别吗???
for(s=9;s>=i;s--) a[s+1]=a[s];
break;
}
展开
 我来答
kaixingui2012
推荐于2016-02-09 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6508万
展开全部
#include <stdio.h>
void main(){
int i,j,q,n,a[11]={127,3,6,28,54,68,87,105,162,18};
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
if( a[j]>a[i])
{
q=a[i];a[i]=a[j];a[j]=q;
}
}
for( i=0;i<10;i++ )
printf("%d ",a[i]);
printf("\n");
//排序部分,测试成功   
printf("input a number:");
scanf("%d",&n);
for(i=0;i<10;i++)
{
if(a[i]<n) //找到位置
break;
}
for( j=10;j>i;j-- ) //后移
a[j]=a[j-1];
a[j]=n; //插入
for( i=0;i<10;i++ )
printf("%d ",a[i]);
printf("\n");
}
更多追问追答
追问
问题已补充,不知我那个为什么不对,可以帮忙看看嘛
追答
	for(i=0;i<10;i++)
{
if(a[i]<n) //找到位置,进行移位,然后结束循环break,若不括起来,第一个数就会break了!
{
for(s=9;s>=i;s--)
a[s+1]=a[s];
break;
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式