c语言for问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 01:49:06
求解 一时脑袋转不过来了 for 语句嵌套怎么来循环的比如main()
{
int i,j,p,q,s,n,a[11]={127,3,6,28,54,68,87,105,162,18};
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)
{
s=a[i];
a[i]=a[p];
a[p]=s;
}
printf("%d",a[i]);
}
printf("\ninput number:\n");
scanf("%d",&n);
for(i=0;i<10;i++)
if(n>a[i])
{for(s=9;s<=i;s--) a[s+1]=a[s];
break;}
a[i]=n;
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
}

这个里的有几个for 第一个的循环部分是整个底下的程序么? 还有期间for的循环范围是怎么定义的```````还有for(i=0;i<10;i++)
这个是先进行循环还是先进行后边的i++运算呢?我是新手一个人自学 希望能找个高手 能经常上网的 有不懂的好能请教的 先谢了哈
还有就是想这样多层嵌套的怎么从什么方面先入手呢?

for循环的是紧接着它的(复合)语句,要看清循环首先找到{}
对于这条程序的话
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)
{
s=a[i];
a[i]=a[p];
a[p]=s;
}
printf("%d",a[i]);
}
是一个循环,而其中
for(j=i+1;j<10;j++)
if(q<a[j]) {p=j;q=a[j];}
if(p!=i)
{
s=a[i];
a[i]=a[p];
a[p]=s;
}
是嵌套在内的循环。

for(i=0;i<10;i++)
if(n>a[i])
{for(s=9;s<=i;s--) a[s+1]=a[s];
break;}

是另一个循环,嵌套在其中的是
{for(s=9;s<=i;s--) a[s+1]=a[s];
break;}

最后一个是
for(i=0;i<10;i++)
printf("%d",a[i]);

就是这样
至于i++,是指执行一次循环后更新条件
比如
for(i=0;i<10;i++)
printf("%d",a[i]);

就是第一次i=0,然后判断执行条件,符合就循环,并且循环后i+1,不符合就跳出去

关于从什么方面入手不知道具体指的是什么,我的理解是怎么看出循环。
我认为嵌套循环的话能找到
for()
{
}
一般是能够比较快速地了解循环,至于循环的过程那要自己