用while、do-while、for三种不同的循环方法编程求1!+2!+3!+…+20!的值;
时间: 2023-05-31 18:20:51 浏览: 103
### 回答1:
使用while循环:
```
int i = 1;
int sum = ;
int fac = 1;
while (i <= 20) {
fac *= i;
sum += fac;
i++;
}
```
使用do-while循环:
```
int i = 1;
int sum = ;
int fac = 1;
do {
fac *= i;
sum += fac;
i++;
} while (i <= 20);
```
使用for循环:
```
int sum = ;
int fac = 1;
for (int i = 1; i <= 20; i++) {
fac *= i;
sum += fac;
}
```
以上三种方法都可以求出1!+2!+3!+…+20!的值。
### 回答2:
一、while循环方法
while循环是最基本的循环方法,循环次数不确定,需要在循环内部加上判断条件。
在本题中,我们可以使用while循环来解决。定义一个变量i,从1开始循环,每次循环将i乘以当前的阶乘数,直到i等于20为止。
代码如下:
int i = 1;
long long result = 1; // 防止数据溢出
while (i <= 20) {
result *= i;
i++;
}
二、do-while循环方法
do-while循环是先执行一次循环体,然后再根据条件判断是否继续循环。
在本题中,我们可以使用do-while循环来解决。由于阶乘的结果不为0,可以先将result初始化为1,然后使用do-while循环,每次循环将i乘以当前的阶乘数,直到i等于20为止。
代码如下:
int i = 1;
long long result = 1; // 防止数据溢出
do {
result *= i;
i++;
} while (i <= 20);
三、for循环方法
for循环是一种常用的循环方法,常用于循环次数已知的情况中。
在本题中,我们可以使用for循环来解决。定义一个变量i,从1开始循环,每次循环将i乘以当前的阶乘数,直到i等于20为止。
代码如下:
long long result = 1; // 防止数据溢出
for (int i = 1; i <= 20; i++) {
result *= i;
}
总结
使用while、do-while、for三种不同的循环方法编程求1! 2! 3! … 20!的值,代码如下:
while循环方法:
int i = 1;
long long result = 1;
while (i <= 20) {
result *= i;
i++;
}
do-while循环方法:
int i = 1;
long long result = 1;
do {
result *= i;
i++;
} while (i <= 20);
for循环方法:
long long result = 1;
for (int i = 1; i <= 20; i++) {
result *= i;
}
综上所述,使用不同的循环方法实现相同的功能,可以让我们更好的掌握循环结构的使用。在实际开发中,我们需要根据实际情况选择不同的循环方法来完成任务。
### 回答3:
1. while循环方法
首先,我们需要先定义一个变量result来保存每个数的阶乘结果。然后,利用while循环从1开始到20,每次计算当前数的阶乘并将结果累加到result中,最后输出result即可。
代码如下:
```
int i = 1;
long result = 1;
while(i<=20){
result *= i;
i++;
}
cout << result << endl;
```
2. do-while循环方法
与while循环类似,我们也需要先定义一个变量result来保存每个数的阶乘结果。然后,利用do-while循环从1开始到20,每次计算当前数的阶乘并将结果累加到result中,最后输出result即可。
代码如下:
```
int i = 1;
long result = 1;
do{
result *= i;
i++;
}while(i<=20);
cout << result << endl;
```
3. for循环方法
与while循环和do-while循环一样,我们同样需要先定义一个变量result来保存每个数的阶乘结果。然后,利用for循环从1开始到20,每次计算当前数的阶乘并将结果累加到result中,最后输出result即可。
代码如下:
```
long result = 1;
for(int i=1; i<=20; i++){
result *= i;
}
cout << result << endl;
```
三种循环方法实现的效果相同,只是代码书写方式不同,选择哪种方法主要看个人编程习惯和实际需求。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)