在屏幕上输出九九乘法表

案例1_九九乘法表

上图来源于网络(侵权请联系)

分析:一共有九列九行,我们是不是可以这样打印。

#include <stdio.h>
int main()
{
int i = 0,j=0;
for(i=1;i<10;i++)
{
for (j = 1; j < 10; j++)
printf("%d*%d=%d ", i, j, j * i);
printf("\n");
}
return 0;
}

案例1_九九乘法表_02

经过测试发现此算法不能实现,我们来具体分析:

案例1_九九乘法表_03

​由此我们发现每执行一次外循环都要执行九次内循环。

改进后的算法

#include <stdio.h>
int main()
{
int i = 0,j=0;
for(i=1;i<10;i++)
{
for (j = 1; j <=i ; j++)//将小于10改成小于等于
printf("%d*%d=%d ", i, j, j * i);
printf("\n");
}
return 0;
}

案例1_九九乘法表_04

我们来在具体分析:

案例1_九九乘法表_05

当我们把小于10改成小于等于i,之后每执行一次外循环,内循环次数就会为外循环的i的值,而不是每次都是执行九次;如次我们只需改变外循环次数便可以打印出任意i*i乘法表。

#include <stdio.h>

int main()
{
int i = 0,j=0;
for(i=1;i<=20 ;i++) /* ### i<=20 ### */
{
for (j = 1; j <= i; j++)
printf("%d*%d=%d ", i, j, j * i);
printf("\n");
}
return 0;
}

案例1_九九乘法表_06