C语言求解!!!急!!!!!

#include<stdio.h>intmain(void){inta[11]={127,3,6,28,54,68,87,105,162,18};inti,j,k,p,q... #include <stdio.h>

int main(void)
{
int a[11] = {127,3,6,28,54,68,87,105,162,18};
int i,j,k,p,q,t,m;

for(i=0;i<10;i++)
{
p = i;
q = a[i];
for(j=i+1;j<10;j++)
{
if(q < a[j])
{
p = j;
q = a[j];
}
}
if(p!=i)
{
t = a[p];
a[p] = a[i];
a[i] = t;
}
}

scanf("%d",&m);

for(i=0;i<10;i++)
{
if(m>a[i])
{
for(k=9;k>=i;k--)
{
a[k+1] = a[k];
}
break;//请问下这个break结束的是最外层的for循环吗?还是只结束里面的if语句?我觉得如果是只结束if语句的话整个程序就不对了,纠结啊,还请详解,谢谢!
}

}
a[i] = m;

for(i=0;i<=10;i++)
{
printf("%d ",a[i]);
}
printf("\n");

return 0;
}
程序功能是:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数
组中。问题请见注释行,谢谢!
展开
 我来答
999flying
2012-05-26
知道答主
回答量:14
采纳率:0%
帮助的人:15.8万
展开全部
在C中break用来打破(结束)当前循环的,不是用来打破if语句的
for(i=0;i<10;i++)
{
if(m>a[i])
{
for(k=9;k>=i;k--)
{
a[k+1] = a[k];
}
break;//用来打破for(i=0;i<10;i++)这一级的循环,与if没有关系
}

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
灰翼之殇
2012-05-26 · TA获得超过167个赞
知道小有建树答主
回答量:96
采纳率:0%
帮助的人:136万
展开全部
break;是用于跳出while循环或者for循环,if只执行一次,不需要也没法用break跳出,遇见break,跳出最近的一个外层循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-05-26
展开全部
break 跳出for
这个运行出来对的呀!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一变班爱麻啊堡0J
高粉答主

2020-01-13 · 醉心答题,欢迎关注
知道答主
回答量:11.4万
采纳率:2%
帮助的人:5529万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
科技Art
2012-05-26 · TA获得超过1027个赞
知道小有建树答主
回答量:1588
采纳率:100%
帮助的人:1119万
展开全部
是的,break结束的是最外层的for循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式