关于C语言,多层嵌套的for 循环我真的看不懂怎么办? 例如这个编程:
#include"stdafx.h"#include<stdio.h>intmain(intargc,char*argv[]){intn,i,j;chara=3;prin...
#include "stdafx.h" #include<stdio.h> int main(int argc, char* argv[]) { int n,i,j; char a=3; printf("n="); scanf("%d",&n); for(i=1;i<=n;i++) { for(j=n-1;j>=i;j--) printf(" "); if(i==1) for(j=1;j<=n;j++) printf("%c",a); else { printf("%c",a); for(j=1;j<=n+(i-2)*2;j++) printf(" "); printf("%c",a); } printf("\n"); } for(i=1;i<=n-1;i++) { for(j=1;j<=i;j++) printf(" ");
好的,分行……
#include "stdafx.h"
#include<stdio.h>
int main(int argc, char* argv[])
{
int n,i,j;
char a=3;
printf("n=");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=n-1;j>=i;j--)
printf(" ");
if(i==1)
for(j=1;j<=n;j++)
printf("%c",a);
else
{
printf("%c",a);
for(j=1;j<=n+(i-2)*2;j++)
printf(" ");
printf("%c",a);
}
printf("\n");
}
for(i=1;i<=n-1;i++)
{
for(j=1;j<=i;j++)
printf(" ");
if(i==n-1)
for(j=1;j<=n;j++)
printf("%c",a);
else
{
printf("%c,a");
for(j=n+(n-1-i-1)*2;j>=1;j--)
printf(" ");
printf("%c",a);
}
printf("\n");
}
return o;
} 展开
好的,分行……
#include "stdafx.h"
#include<stdio.h>
int main(int argc, char* argv[])
{
int n,i,j;
char a=3;
printf("n=");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=n-1;j>=i;j--)
printf(" ");
if(i==1)
for(j=1;j<=n;j++)
printf("%c",a);
else
{
printf("%c",a);
for(j=1;j<=n+(i-2)*2;j++)
printf(" ");
printf("%c",a);
}
printf("\n");
}
for(i=1;i<=n-1;i++)
{
for(j=1;j<=i;j++)
printf(" ");
if(i==n-1)
for(j=1;j<=n;j++)
printf("%c",a);
else
{
printf("%c,a");
for(j=n+(n-1-i-1)*2;j>=1;j--)
printf(" ");
printf("%c",a);
}
printf("\n");
}
return o;
} 展开
展开全部
嵌套就一层一层的执行,需要有必要的做些标记:例如:
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
for(int k=0;k<4;k++)
printf(%d%d%d,i,j,k);
这个就是先 i=0——>j=0——>k=0 输出:0 0 0
i=0——>j=0——>k=1 输出:0 0 1
.......*(当k的4次结束后,j就加1 k接着从0开始)
i=0——>j=1——>k=0 输出:0 1 0
i=0——>j=1——>k=1 输出:0 1 1...(k的4次执行完后,j就再加1,成了2 )
.......*(当这样循环j的4次也结束后,i就加1,成了1,而j还是从0开始,k亦从0开始,知道最后i变成4)...输出:4 4 4后结束,这样说我觉得可以了,要是还有问题的话,可以再问,你只要耐心一点一步一步走就懂了。
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
for(int k=0;k<4;k++)
printf(%d%d%d,i,j,k);
这个就是先 i=0——>j=0——>k=0 输出:0 0 0
i=0——>j=0——>k=1 输出:0 0 1
.......*(当k的4次结束后,j就加1 k接着从0开始)
i=0——>j=1——>k=0 输出:0 1 0
i=0——>j=1——>k=1 输出:0 1 1...(k的4次执行完后,j就再加1,成了2 )
.......*(当这样循环j的4次也结束后,i就加1,成了1,而j还是从0开始,k亦从0开始,知道最后i变成4)...输出:4 4 4后结束,这样说我觉得可以了,要是还有问题的话,可以再问,你只要耐心一点一步一步走就懂了。
展开全部
麻烦完整的排一下版,而且#include "stdafx.h" #include<stdio.h> int main(int argc, char* argv[]) { int n,i,j; char a=3; printf("n="); scanf("%d",&n); for(i=1;i<=n;i++) { for(j=n-1;j>=i;j--) printf(" "); if(i==1) for(j=1;j<=n;j++) printf("%c",a); else { printf("%c",a); for(j=1;j<=n+(i-2)*2;j++) printf(" "); printf("%c",a); } printf("\n"); } for(i=1;i<=n-1;i++) { for(j=1;j<=i;j++) printf(" ");还少了东西
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for()
{
for()
}这是嵌套,也就是说for作为循环体。
for(){}
for(){}这是并列。
{
for()
}这是嵌套,也就是说for作为循环体。
for(){}
for(){}这是并列。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把格式调整好。。。 其实不难。静下心来对照着输出结果一句一句的分析就好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
return o错了,是return 0啊,零啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |