九九乘法表
打印“九九乘法表”。
刚开始拿到这个的时候,我以为,就这样,这样,那样。。。就好了。但是事实好像没有我想的那么简单。
首先,我们看看效果图吧。
看起来很简单,让我们来分析一下需要实现的点吧。
需求分析
1.首先,肯定是计算出1*9~9*9
2.对齐,一个小程序做出来肯定是需要有美观性的。
需求很少,那我们接着来一步一步实现吧。
实现方法
首先,计算出1*9~9*9我们最先想到的肯定就是循环,两重循环嵌套,外边的循环数值不变,里边的边,重复9次这种循环,即可得到1*9~9*9的值。
while (i<=n)
{
for (j = 1; j <= i; j++) {
printf("%d * %d= %d", j, i, i * j);
}
i++;
printf("\n");
}
实现这个循环有两个需要注意的点,一个是for循环中,j<=i而不是i<=n;第二个需要注意的点就是printf语句中,j跟i的位置是需要互换位置的,自己修改下位置看看可能比我口述的效果来的好。
这样基本实现了1*9~9*9的值了,但是,效果是什么样的呢?
很不美观,有得数值靠的太近了。那么要怎么改进呢?我们可以用if语句对i*j的结果进行判断。这边我们直接上代码吧。
if (i * j < 10) {
printf(" "); //三个空格
} else {
printf(" "); //两个空格
}
经过简单的判断语句,虽然很笨,但是可以很大程度上对程序进行美化,大家看加入判断后的效果图。
效果还行,而且也实现了我们的功能,全部代码如下:
int main()
{
int n = 9;
int i=1, j=1;
while (i<=n)
{
for (j = 1; j <= i; j++) {
printf("%d * %d= %d", j, i, i * j);
if (i * j < 10) {
printf(" ");
} else {
printf(" ");
}
}
i++;
printf("\n");
}
return 0;
}
用的代码跟原理都很简单,注意的点也不多。