输入一个正整数n(n<=10),计算
时间: 2024-10-17 22:04:13 浏览: 26
n的阶乘。
输入一个正整数n,输出n的阶乘。可以使用循环或递归两种方法来实现。循环方法可以使用for或while循环,递归方法可以使用函数来实现。下面是两种方法的示例代码:
方法一:循环
```
#include <stdio.h>
int main() {
int i,n,s=1;
printf("请输入一个小于等于10的整数:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
s*=i;
printf("%d!=%d\n",n,s);
return 0;
}
```
方法二:递归
```
#include <stdio.h>
int fun_jc(int x) {
if (x == 1 || x == 0)
return x;
else
return x*fun_jc(x - 1);
}
int main() {
int n;
printf("请输入一个小于等于10的整数:\n");
scanf("%d", &n);
printf("%d!=%d\n", n, fun_jc(n));
return 0;
}
```
相关问题
用c语言写输入一个正整数n(1<n<=10,再输入n个整数,输出平均值(保留两位小数)
好的,以下是用C语言编写的程序,可以实现输入一个正整数n,再输入n个整数,计算它们的平均值并输出结果(保留两位小数):
```c
#include <stdio.h>
int main() {
int n, i, sum = 0;
float avg;
printf("请输入正整数n:");
scanf("%d", &n);
int nums[n];
for (i = 0; i < n; i++) {
printf("请输入第%d个整数:", i + 1);
scanf("%d", &nums[i]);
sum += nums[i];
}
avg = (float)sum / n;
printf("这%d个整数的平均值为:%.2f", n, avg);
return 0;
}
```
程序的运行过程如下:
```
请输入正整数n:5
请输入第1个整数:1
请输入第2个整数:2
请输入第3个整数:3
请输入第4个整数:4
请输入第5个整数:5
这5个整数的平均值为:3.00
```
希望能够帮到你!
给一个程序,输入正整数n(n<100),输出n的阶乘。提示:注意数值溢出 使用C语言编程
当输入一个正整数n(n<100),计算n的阶乘可以使用循环来实现。以下是一个用C语言编写的程序示例:
```c
#include <stdio.h>
long long factorial(int n) {
long long result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int n;
printf("请输入一个正整数n(n<100):");
scanf("%d", &n);
if (n < 0 || n >= 100) {
printf("输入错误!请重新运行程序并输入一个合法的正整数n(n<100)。\n");
return 0;
}
long long result = factorial(n);
printf("%d 的阶乘是 %lld\n", n, result);
return 0;
}
```
这个程序通过循环计算n的阶乘,并将结果输出。请注意,由于阶乘的结果可能非常大,所以我使用了`long long`类型来存储结果,以避免数值溢出。
阅读全文