请各位读者认真看完博文在决定选择哪段代码
输出乘法口诀
#include <stdio.h> int main() { int i, j; for (i = 1; i <= 9; i++) { for (j = 1; j <= 9; j++) { printf(“%d*%d=%d\t”, i, j, i * j); } printf(“\n”); }
在这里面用了双层循环结构,每一次的for循环都执行9次
循环,嵌套……往复进行
一开始笔者的代码确实如图所示,但是运行后的结果……;出乎人的意料,大大令人感到不想说话,废话不多说,直接上运行结果,让读者看看,顺便欣赏一下:
在此声明:这是我的第一次直接想法并没有加入任何人的主观意见;但是看完运行结果后,我发现,还得借鉴他人思路……
哈哈
笔者完美偷师回归:再次觉悟理解出来到底哪儿出错了
在这儿,笔者每次的循环执行的都是1到9,所以导致:每一行,每一列都执行9次。
于是,笔者理直气壮的写下来偷师成功以后的代码:
#include <stdio.h> int 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”); } }
这个的执行结果为:(笔者可以拍着胸脯大保证:这个代码没啥大毛病)
但是:对于某些出奇的读者,是否也想到了:既然有九九乘法口诀,哪是否还有其他的乘法口诀呢?再次,笔者以九九乘法口诀为列;进行简单改装,得出:
#include <stdio.h> int main() { int i, j,n; //设未知数n scanf_s(“%d”, &n); for (i = 1; i <= n; i++) { for (j = 1; j <= i; j++) printf(“%d*%d=%-4d”, i, j, i * j); printf(“\n”); } }
在这里,运行的结果如图所示:(以9为列)
以5为列,运行结果如图所示: