用c语言编一段程序,用while编写程序,求出n!=1*2*3*...*n的值,并显示结果
时间: 2023-11-14 19:20:35 浏览: 42
好的,根据您的要求,以下是C语言编写的程序:
```c
#include<stdio.h>
int main() {
int n, i = 1, result = 1;
printf("请输入一个正整数n:");
scanf("%d", &n);
while (i <= n) {
result *= i;
i++;
}
printf("%d的阶乘为:%d\n", n, result);
return 0;
}
```
这个程序利用了while循环计算了n的阶乘,并输出了结果。如果有任何问题,请随时告诉我。
相关问题
C语言用while编写1!+2!+...+n!
好的,我可以帮你解答关于C语言用while编写1! 2! ... n! 的问题。以下是代码示例:
#include <stdio.h>
int main()
{
int n, i = 1;
unsigned long long factorial = 1;
printf("请输入一个正整数:");
scanf("%d",&n);
// 循环计算 n 的阶乘
while (i<=n)
{
factorial *= i;
i++;
}
printf("%d 的阶乘为 %llu", n, factorial);
return 0;
}
这段代码可以让用户输入一个正整数 n,然后使用 while 循环计算 n 的阶乘,并输出结果。希望可以帮到你。
使用c语言 编写一段程序求解f(x) = x^3 + x^2 - 1 = 0,使用二分法
#include <stdio.h>
#include <math.h>
double f(double x) {
return pow(x, 3) - pow(x, 2) - 1;
}
double bisection(double a, double b, double eps) {
double c;
while (fabs(b - a) > eps) {
c = (a + b) / 2.0;
if (f(c) == 0.0) return c;
else if (f(a) * f(c) < 0.0) b = c;
else a = c;
}
return (a + b) / 2.0;
}
int main() {
double a = -10.0, b = 10.0, eps = 0.00001;
double root = bisection(a, b, eps);
printf("Root of the equation is: %lf\n", root);
return 0;
}