求n!① 从键盘输入n; ② n>=0;若n<0则提示输入数据无效。 ③ 如果n>12 结果将提示越界,否则输出n的阶乘。 ④ 输出格式例如: 5!= 120,使用c语言
时间: 2024-11-20 15:41:01 浏览: 7
从输入的一批正整数中求出最大值、最小值和平均值,输入0结束数据的输入
在C语言中,求一个数n的阶乘可以按照上述要求编写如下的程序:
```c
#include <stdio.h>
unsigned long long factorial(int n) {
if (n < 0) {
printf("输入数据无效\n");
return 0;
} else if (n > 12) {
printf("结果将提示越界\n");
return ULONG_MAX; // 设置一个大值表示超出范围
} else {
unsigned long long result = 1;
for (int i = 1; i <= n; ++i) {
result *= i;
}
return result;
}
}
int main() {
int n;
printf("请输入一个非负整数n: ");
scanf("%d", &n);
factorial(n);
if (n >= 0) {
printf("%d! = %llu\n", n, factorial(n));
}
return 0;
}
```
在这个程序中,我们首先检查输入的n是否有效,然后计算阶乘。如果n大于12,我们将返回一个特殊值表示超边界。如果用户输入的是一个小于等于12的正整数,我们就计算并打印它的阶乘。
阅读全文