相信利用普通的程序画九九乘法表对大家来说都是轻而易举的事情,不过,用递归函数画九九乘法表就涉及一些盲区了。
#include<stdio.h>
#include<math.h>
void happy(int row);
int main() {
happy(9);
return 0;
}
在该题中,已经给出了函数的名称与运行次数,我们只要写函数的代码就可以了。不过我并不知道为什么头文件要有 math ,至少在我的程序中它不是必要的。
void happy(int row)
{
if (row == 1)
printf("1*1=1\n");
int i = row;
if (row > 1)
{
happy(row - 1);
for (int j = 1; j <= i; j++)
{
printf("%d*%d=%d", j, i, i * j);
if (j != i)
printf(" ");
else
printf("\n");
}
i--;
}
}
这里用 i 作为变量的原因是因为用习惯了,最终运行结果也出来了。
比起一般代码有些变式,不过基本思路没有改变。
hint:本题未要求对齐,只要求每行最后一列式子后不加空格。