题目描述 输入一个正整数n(n<=20),输出1到n之间阶乘表。 输入 输入只有一个正整数n。 输出 输出1到n之间的阶乘表,格式见输出样例。每行两个数据,第一个数据占4列,第二个数据占20列,左对齐。c语言
时间: 2024-10-24 19:14:07 浏览: 88
清华计算机06复试真题 上机题
在C语言中,你可以通过递归或循环的方式计算阶乘并输出给定范围内的阶乘表。以下是使用循环的一个简单示例:
```c
#include <stdio.h>
// 计算阶乘的函数
unsigned long long factorial(int num) {
if (num == 0 || num == 1)
return 1;
else
return num * factorial(num - 1);
}
int main() {
int n;
// 输入n
scanf("%d", &n);
// 输出阶乘表
for (int i = 1; i <= n; ++i) {
printf("%4lu ", i); // 第一个数据占4列
unsigned long long fact = factorial(i);
printf("%02llu\n", fact); // 第二个数据占20列,左对齐
}
return 0;
}
```
在这个程序中,`factorial` 函数用于计算阶乘,`main` 函数里则是一个简单的for循环,从1遍历到输入的`n`值。每次循环中,我们先打印当前数字占4列,然后计算并打印其阶乘占20列。注意`%02llu`是格式说明符,其中的`02`表示最多占用两位,如果不足则用0填充。
阅读全文