永发信息网

c语言关于九九乘法表for循环的一个问题

答案:4  悬赏:10  手机版
解决时间 2021-03-21 09:52
#include
void main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
printf("%d*%d=%-4d",i,j,i*j);
printf("\n");
}
}

问题:当i=1时会输出:1*1=1 (这个我能理解)

当i=2时,会输出:2*1=2 2*2=4(这里面2*1=2式中的1是怎么来的?第二个for循环执行完后j++不是已经成为2了吗?怎么第二次还会是1?)
最佳答案
内层for循环每次执行完后,外层for循环加1,内层for循环又是从j=1这个条件开始执行的

希望可以帮到你!
全部回答
在语句printf("%d*%d=%-4d",i,j,i*j);中, i = 2时,j = 1,2,那么两次打印分别是 2*1= 2和2*2= 4。
你的理解有些偏差,你把两个循环分开来看: i==1时,j从1到1 i==2时,j从1到2 …… 1==9时,j从1到9
你的程序运行结果正确,语法没有问题,不过许多东西我看来很多余,而且九九表一般是三角形的,你试试看我我下面程序: #include"stdio.h" void main() {   int i,j;   for(i=1;i<=9;i++)   {     for(j=1;j<=i;j++) printf("%d*%d=%-3d",i,j,i*j);     printf("\n");   } } 我在tc下执行的结果是: 1*1=1 2*1=2  2*2=4 3*1=3  3*2=6  3*3=9 4*1=4  4*2=8  4*3=12 4*4=16 5*1=5  5*2=10 5*3=15 5*4=20 5*5=25 6*1=6  6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7  7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8  8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9  9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 你原来的程序效果是每行后空一行,如果有这个需求,把我上面程序里面的printf("\n");改为printf("\n\n");就可以了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
dnf法驱魔道哪个刷图厉害点?
薄伽丘在《十日谈》中有段议论:“我们人类是
无用配什么手镯
炫舞时代钻8一个月不消费会掉么
哪款老人手机好用又实惠
新广五路地址在哪,我要去那里办事
战斗之夜12号一直挂机可以算是21点在线吗
嫁给土豪是种什么体验
时间继电器循环通电
星座英语
什么自制东西能发出下雨声?
adidas香港的货和大陆一样吗?包括那几个标签
中石化冲值卡全国通用吗
车里可以放弥勒佛吗?求解答
西藏和平解放谈判期间真正掌握西藏政权的是A.
推荐资讯
忍冬鲍安顺阅读答案
比和比例奥数题
仓鼠喝水呛到不能吃喝一直躺在那
禹的五行属性
单选题2009年6月7日,海南省60岁的小学老师李
杜鹃花的花语是什么?
古代治军严格的故事有哪些,用简洁语言概括
管岭加油站在哪里啊,我有事要去这个地方
周公解梦梦见我抱着个小女孩做在马车上飞奔
请问长安悦翔的离合器分离轴承是不是代替了离
男方娶媳妇,买房子应该写女方的名字吗
中通快递从北京到满洲里是空运吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?