c语言用while语句求n的阶乘
时间: 2024-03-13 17:38:33 浏览: 310
以下是使用while语句求n的阶乘的C语言代码:
```c
#include <stdio.h>
int main() {
int n, result = 1;
printf("请输入一个正整数n:");
scanf("%d", &n);
int i = 1;
while (i <= n) {
result *= i;
i++;
}
printf("%d的阶乘为%d\n", n, result);
return 0;
}
```
解释:首先输入一个正整数n,然后定义一个变量result并初始化为1。接着定义一个变量i并初始化为1,使用while循环,当i小于等于n时,执行循环体内的语句,即将result乘以i,然后i加1。当i大于n时,跳出循环。最后输出n的阶乘结果。
相关问题
用C语言while语句求n的阶乘
在C语言中,你可以使用while循环来计算一个整数n的阶乘。阶乘是指从1到该数的所有正整数相乘的结果。以下是使用while循环实现的一个简单示例:
```c
#include <stdio.h>
// 函数声明用于计算阶乘
unsigned long long factorial(int n);
int main() {
int n;
printf("请输入一个非负整数: ");
scanf("%d", &n);
if (n < 0) {
printf("错误! 阶乘只对非负整数有效.\n");
} else {
unsigned long long result = factorial(n);
printf("%d 的阶乘是: %llu\n", n, result);
}
return 0;
}
// 使用while循环计算阶乘
unsigned long long factorial(int n) {
unsigned long long fact = 1; // 初始化阶乘为1
int i = 1;
while (i <= n) {
fact *= i; // 每次循环都将当前值乘入阶乘
i++;
}
return fact;
}
```
c语言用while语句写n的阶乘之和
在C语言中,你可以使用while循环计算给定整数n的阶乘之和。阶乘是一个正整数的所有小于及等于它的正整数的积,例如5的阶乘(5!)是5 * 4 * 3 * 2 * 1。
下面是一个简单的示例,用于计算1到n的阶乘之和:
```c
#include <stdio.h>
long long factorial_sum(int n) {
int i = 1;
long long fact = 1; // 初始化阶乘为1
long long sum = 0; // 初始化阶乘之和为0
while (i <= n) {
sum += fact;
fact *= i++;
}
return sum;
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
if (n < 0) {
printf("输入错误,阶乘仅对非负整数有效。\n");
} else {
long long result = factorial_sum(n);
printf("1到%d的阶乘之和是:%lld\n", n, result);
}
return 0;
}
```
在这个程序中,`factorial_sum`函数会计算并返回1到n的阶乘之和。如果用户输入的是负数,主函数会提示错误。
阅读全文