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;
}
程序功能是:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数
组中。问题请见注释行,谢谢! 展开
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;
}
程序功能是:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数
组中。问题请见注释行,谢谢! 展开
5个回答
展开全部
在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没有关系
}
}
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没有关系
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
break;是用于跳出while循环或者for循环,if只执行一次,不需要也没法用break跳出,遇见break,跳出最近的一个外层循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-05-26
展开全部
break 跳出for
这个运行出来对的呀!
这个运行出来对的呀!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是的,break结束的是最外层的for循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询