谁能帮我讲解一下这个C语言程序的运行过程啊 (九九乘法表)
#include<stdio.h>voidmain(){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%...
#include <stdio.h>
void main()
{ int i,j;
for (i=1;i<=9;i++)
{ for (j=1;j<=i;j++)
printf("%d*%d=%2d ",i,j,i*j);
printf("\n");
}
} 尤其是那两个大括号 他们的位置很纠结
详细点好么 我C语言刚刚学 展开
void main()
{ int i,j;
for (i=1;i<=9;i++)
{ for (j=1;j<=i;j++)
printf("%d*%d=%2d ",i,j,i*j);
printf("\n");
}
} 尤其是那两个大括号 他们的位置很纠结
详细点好么 我C语言刚刚学 展开
展开全部
for (i=1;i<=9;i++)
{ for (j=1;j<=i;j++)
printf("%d*%d=%2d ",i,j,i*j);
printf("\n");
}
我们先看第一个for循环
当i=1时,接着进入下一个for循环
for (j=1;j<=i;j++)
j从1开始到j<=i结束,也就是j=1
输出结果:printf("%d*%d=%2d ",i,j,i*j);
然后输出: printf("\n");
接着跳出for (j=1;j<=i;j++)这个循环
然后再次进入第一个循环,这是由于i++,所以
i=2,接着再次进入第二个循环
for (j=1;j<=i;j++)
j从1开始到j<=i结束,也就是j=1,2
分别输出结果:printf("%d*%d=%2d ",i,j,i*j);
然后输出: printf("\n");
接着i=3,重复上述过程
一直第一个for循环结束。
{ for (j=1;j<=i;j++)
printf("%d*%d=%2d ",i,j,i*j);
printf("\n");
}
我们先看第一个for循环
当i=1时,接着进入下一个for循环
for (j=1;j<=i;j++)
j从1开始到j<=i结束,也就是j=1
输出结果:printf("%d*%d=%2d ",i,j,i*j);
然后输出: printf("\n");
接着跳出for (j=1;j<=i;j++)这个循环
然后再次进入第一个循环,这是由于i++,所以
i=2,接着再次进入第二个循环
for (j=1;j<=i;j++)
j从1开始到j<=i结束,也就是j=1,2
分别输出结果:printf("%d*%d=%2d ",i,j,i*j);
然后输出: printf("\n");
接着i=3,重复上述过程
一直第一个for循环结束。
更多追问追答
追问
i++是满足条件直接从1变成了2 然后进入内层循环 还是i=1 然后直接进入内存循环
这里有什么规定吗 那个%2d 是什么意思啊
追答
for (i=1;i<=9;i++)
首先:i=1
满足:i<=9
然后:i++
i++,这样说吧,可以这么看i=i++,它先将i的值赋给i,也就是1,然后再自增1
所以在进入内循环时,i为1
这里%d格式的作用是以十进制整数的形式输出变量。 %2d表示输出的变量列宽为2。如果这里的列宽值小于实际变量列宽,输出时就会自动补全,即以实际为准。 如本题a的情况。 如果列宽值大于实际,就左端补空格。如:a=2 用 %5d输出。会的道:“ 2”,左边是四个空格。
至于你问得变量b,b=012是把八进制的12赋值给变量b,而输出时你用的是%d,所以以十进制输出。
展开全部
第一层 for循环i从1到9
内部循环j从1到i
打印i,j以及乘积结果
j循环完毕打印回车
第一个大括号管整个main
第二个大括号管第一个for
第二个for内部只有一个打印语句
内部循环j从1到i
打印i,j以及乘积结果
j循环完毕打印回车
第一个大括号管整个main
第二个大括号管第一个for
第二个for内部只有一个打印语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for语句就是循环啊 第一步 i=1 小于等于9条件符合 往下走
下面是第二层for 循环 j=1 i=1 j=i所以条件符合 往下走
printf是显示在屏幕上的函数 2个前面是格式 后面是内容
分别显示i j现在是1 ixj 也是1
下一句 是显示换行符 也就是换行
然后内层的这个循环体执行完第一轮循环
执行j++ 这时j=2 条件不符合了 所以不再执行循环体 跳出来 内层循环
这样外层的第一次循环就执行完了 于是i++
i=2
继续执行循环
整个跑下来就是一个小99咯
下面是第二层for 循环 j=1 i=1 j=i所以条件符合 往下走
printf是显示在屏幕上的函数 2个前面是格式 后面是内容
分别显示i j现在是1 ixj 也是1
下一句 是显示换行符 也就是换行
然后内层的这个循环体执行完第一轮循环
执行j++ 这时j=2 条件不符合了 所以不再执行循环体 跳出来 内层循环
这样外层的第一次循环就执行完了 于是i++
i=2
继续执行循环
整个跑下来就是一个小99咯
追问
大侠你好有耐心啊 跪求QQ
追答
315442858 不过不经常在线
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我刚学的时候也挺纠结的,没事,你慢慢来
首先,因为是99乘法表,所以你必须有两个变量,而且都是1-9,
你可以这样理解,当乘数都是1的时候,被乘数是1-9,然后乘数++,就变成2,被乘数还是1-9,依次类推。
首先,因为是99乘法表,所以你必须有两个变量,而且都是1-9,
你可以这样理解,当乘数都是1的时候,被乘数是1-9,然后乘数++,就变成2,被乘数还是1-9,依次类推。
追问
大侠你好有耐心啊 能否给个QQ
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询