我们之前讨论过如何用C语言打印九九乘法表,今天这道题目呢,与九九乘法表有关,但是对程序的实现产生了另外的要求,不仅仅是简单地打印九九乘法表。
这道题目相较于来说还是略有些难度的,不然也不会占据15分的分数。
我们先来看一看这道题目的要求:
1、给定一个范围为1到9的正整数N,打印输出N*N部分的九九口诀表。
2、等号右边数字占4位,左边对齐。
梳理逻辑
逻辑其实很简单,就是跟我之前讲的一样,主要是要用到两个for循环,以及for循环内的变量i和j要进行一个大小判断比较。
1、要求输入正整数N,所以需要用到一个scanf函数。
2、输出N*N部分口诀表,意味着在for循环内,i和j的范围是要小于等于给定的正整数N的。
3、因为是从竖着打印开始,所以要进行一个条件判断,也就是i和j判断,并且把j放在前面,i放在后面。
最为关键的就是左对齐,“左对齐”和“右对齐”的概念我之前也提到过,这里再来着重强调一下,左对齐主要是要用到一个%-5d,这就表示占5位,左边对齐,而右对齐主要是用到一个%5d,这就表示占5位,右边对齐。
代码实现
//打印九九口诀表
#include
int main(){
int n;
scanf("%d", &n);
for(int i=1; i <=n; i++){
for(int j=1; j<=n;j++){
if(i>=j){
printf("%d*%d=%-4d", j,i,i*j);//等号右边数字占4位,左对齐
}
}
printf("\n");
}
}
结果测试
总结
总的来说,这道题目与我之前讲过的九九乘法表没啥大差别,只是多了一部分输入函数scanf和左对齐的概念需要了解,其它并没有什么特别的地方了,就当作巩固复习了。