蚌埠论坛郭彪:用for语句输出九九乘法表问题。原理是怎么样的?

来源:百度文库 编辑:高考问答 时间:2024/04/27 21:54:44
请问是怎么样动作,我看不明白。
这个程序是怎么样运行的?执行完第一行后,是否又到了第二行?如果是这样,输出结果不是九九乘法表那个呀。不知道怎么执行的这个程序,请帮帮忙,我入门无人教。

#include "stdio.h"
#include "conio.h"
main()
{
int i,j;
for (i=1;i<10;i++)
printf("%4d",i);
printf("\n_____________________________________\n");
for (i=1;i<10;i++) /*第一行*/
for (j=1;j<10;j++) /*第二行*/
if (j==9) printf("%4d\n",i*j);/*第三行*/
else printf("%4d",i*j); /*第四行*/
getch();
}

for (i=1;i<10;i++) /*第一行*/
for (j=1;j<10;j++) /*第二行*/
if (j==9) printf("%4d\n",i*j);/*第三行*/
else printf("%4d",i*j); /*第四行*/
i从1--9变化,当i等于每个数字时,j都从1--9执行了一遍,j=1--8时,直接打印并不换行 printf("%4d",i*j);
,但j=9时打印换行.
这几句的作用就是打印出九九乘法表.
for (i=1;i<10;i++) /*第一行*/
for (j=1;j<10;j++) /*第二行*/
if (j==9) printf("%4d\n",i*j);/*第三行*/
else printf("%4d",i*j); /*第四行*/
i从1--9变化,当i等于每个数字时,j都从1--9执行了一遍,j=1--8时,直接打印并不换行 printf("%4d",i*j);
,但j=9时打印换行.
这几句的作用就是打印出九九乘法表.

for (i=1;i<10;i++) /*第一行*/
for (j=1;j<10;j++) /*第二行*/
if (j==9) printf("%4d\n",i*j);/*第三行*/
else printf("%4d",i*j); /*第四行*/
i从1--9变化,当i等于每个数字时,j都从1--9执行了一遍,j=1--8时,直接打印并不换行 printf("%4d",i*j);
,但j=9时打印换行.
这几句的作用就是打印出九九乘法表.

原理是双重循环!大循环执行一次,小循环执行多(这里是9)次!

我只会c++:
我写了段代码.好像比你的要简单一些.
#include<iostream.h>
void main()
{
int a,b;
for(a=1;a<=9;a++)
{
for(b=1;b<=a;b++)
cout<<b<<'*'<<a<<'='<<b*a<<" ";
cout<<endl;
}
}