用c程序的 do while 语句求 n!=1*2*3*~*n
时间: 2024-04-23 10:20:19 浏览: 35
你可以使用do-while循环语句来计算n的阶乘。阶乘是指从1到n的所有正整数的乘积。下面是使用do-while循环语句计算n的阶乘的示例代码:
```c
#include <stdio.h>
int main() {
int n;
long long factorial = 1;
printf("请输入一个正整数:");
scanf("%d", &n);
if (n < 0) {
printf("错误!输入的数必须是非负整数。\n");
} else {
do {
factorial *= n;
n--;
} while (n > 0);
printf("%d的阶乘 = %lld\n", n, factorial);
}
return 0;
}
```
在上面的代码中,我们首先输入一个正整数n。然后使用do-while循环语句计算n的阶乘,将结果存储在变量factorial中。循环从n开始,每次迭代将n乘以factorial,并将n减1,直到n减到0为止。最后,我们打印出计算得到的阶乘结果。
相关问题
c语言-分别用while语句、do-while语句、for语句编写程序,计算e = 1+1/1!+1/2!+...+1/n!
以下是三种C语言计算e的程序,分别使用while语句、do-while语句、for语句实现:
1.使用while语句实现:
```c
#include <stdio.h>
int main() {
int n = 20, i = 1;
double sum = 1, a = 1;
while (i <= n {
a *= i;
sum += 1.0 / a;
i++;
}
printf("e = %lf\n", sum);
return 0;
}
```
2.使用do-while语句实现:
```c
#include <stdio.h>
int main() {
int n = 20, i = 1;
double sum = 1, a = 1;
do {
a *= i;
sum += 1.0 / a;
i++;
} while (i <= n);
printf("e = %lf\n", sum);
return 0;
}
```
3.使用for语句实现:
```c
#include <stdio.h>
int main() {
int n = 20;
double sum = 1, a = 1;
for (int i = 1; i <= n; i++) {
a *= i;
sum += 1.0 / a;
}
printf("e = %lf\n", sum);
return 0;
}
```
c语言-分别用while语句、do-while语句、for语句编写程序,计算m=1+1/1!+1/2!+...+1/n!
以下是三种C语言计算m的方法:
1. while循环实现
```c
#include <stdio.h>
int main()
{
double sum = 0, a = 1;
int i = 1, n = 20;
while(i <= n)
{
a *= i;
sum += 1.0 / a;
i++;
}
printf("%lf", sum);
return 0;
}
```
2. do-while循环实现
```c
#include <stdio.h>
int main()
{
double sum = 0, a = 1;
int i = 1, n = 20;
do
{
a *= i;
sum += 1.0 / a;
i++;
}while(i <= n);
printf("%lf", sum);
return 0;
}
```
3. for循环实现
```c
#include <stdio.h>
int main()
{
double sum = 0, a = 1;
int i, n = 20;
for(i = 1; i <= n; i++)
{
a *= i;
sum += 1.0 / a;
}
printf("%lf", sum);
return 0;
}
```