在解决这个问题之前,我们可以先来看看如何打印一个9x9的三角形:
(图 1.1)
观察这个三角形,不难看出【行数】和【列数】是相同的,每增加完一列后增加一行,很显然可以通过循环语句实现,而且是一个嵌套循环的形式,外循环控制行,内循环控制列;设i,j分别为外部和内部的计数器:
int i;
int j;
for(i=1;i<=9;i++){ //外循环控制行,一共有9行
for(j=1;j<=i;j++){ //内循环控制列,列数等于行数
printf(" *");
}
printf("\n"); //每行输出完后记得换行
}
输出得到如图1.1的三角形
在此之后我们再来看九九乘法表的问题就迎刃而解了,只需要把 * 全部换成表达式就行。因为我们将变量i和j设置的是整型,所以i*j也必定是整型,因此均用%d来表示 再在后面依次写上 j、i、j*i就行,即
完整代码:
#include <stdio.h>
int main()
{
int i;
int j;
for(i=1;i<=9;i++){
for(j=1;j<=i;j++){
printf("%d*%d=%d ",j,i,j*i);
}
printf("\n");
}
return 0;
}
//公式后加一个空格看上去美观些
//因为j<i 所以写成j*i更贴近我们的记忆口诀
输出得到九九乘法表:
(图1.2)