请提供三种不同的C语言函数实现方式,用于打印九九乘法表,并展示每种方法的具体代码示例。
时间: 2024-12-23 14:17:50 浏览: 4
在C语言中,有多种方法可以实现打印九九乘法表的功能,下面是三种常见的实现方式:
1. **使用嵌套循环(顺序遍历)**:
```c
#include <stdio.h>
void printMultiplicationTable() {
for(int i = 1; i <= 9; ++i) {
for(int j = 1; j <= i; ++j) {
printf("%d * %d = %d\t", j, i, i*j);
}
printf("\n"); // 换行
}
}
int main() {
printMultiplicationTable();
return 0;
}
```
2. **使用二维数组并逐行输出**:
```c
#include <stdio.h>
#define ROWS 9
void printMultiplicationTable() {
int table[ROWS][ROWS];
for(int i = 0; i < ROWS; ++i) {
for(int j = 0; j <= i; ++j) {
table[i][j] = (i + 1) * (j + 1);
}
for(int k = 0; k <= i; ++k) {
printf("%d ", table[i][k]);
}
printf("\n");
}
}
int main() {
printMultiplicationTable();
return 0;
}
```
3. **递归实现**:
虽然不是最常见的方式,但也可以用递归来实现,不过效率较低且可能会导致栈溢出,主要用于教学演示:
```c
#include <stdio.h>
void printMultiplication(int n, int result) {
if(n == 0) {
printf("%d\n", result);
} else {
printf("%d * %d = %d\t", n, result, result*n);
printMultiplication(n - 1, result*n);
}
}
void printMultiplicationTable(int n) {
if(n > 0) {
printMultiplication(n, 1);
}
}
int main() {
printMultiplicationTable(9);
return 0;
}
```
阅读全文