九九乘法表是一个老生常谈的问题了
没有过多的难点,使用两个for循环就能解决,一个for循环控制高度,一个循环控制宽度。
需要注意两点:
- 第一,内层循环要始终跟着外层循环走;
- 第二,格式化打印语句,使打印结果更加简洁明了。
插一句:格式化打印语句
「%-2d」宽度为2,左对齐,不够2位补空格。
「%3d」宽度为3,右对齐,不够3位补空格。
「%03d」宽度为3,右对齐,不够3位补0。
不多废话,上代码:
#include <stdio.h>
int main()
{ //定义变量h为高度,变量w为宽度
int h = 0, w = 0;
//使用外层for循环控制高度,使其小于等于9
for(h = 1; h <= 9; h++){
//使用内层for循环控制宽度,注意循环判断条件
//如果让w<=9,打印出来会有一半重复内容
for(w = 1; w <= h; w++){
//格式化打印语句,让打印结果更简洁明了
//由于第一个“*”和“=”不是格式控制符,所以要在其后面加一个空格
printf("%-2d* %-2d= %-2d ", h, w, h * w);
}
//内层循环执行一遍,打印一次换行
printf("\n");
}
}
代码运行结果:
解释一下:
- 如果内层循环的判断条件为w <= 9,则打印结果会是一个矩形,其中一半的内容是重复的,如下图: