分别使用while、for、do+while语句计算s=1!+3!+5!+7!+..+n!。
时间: 2023-12-01 10:43:04 浏览: 44
使用while语句计算s=1!+3!+5!+7!+..+n!的代码如下:
```
int i = 1;
int s = 0;
int factorial = 1;
while (i <= n) {
factorial = 1;
int j = 1;
while (j <= i) {
factorial *= j;
j++;
}
s += factorial;
i += 2;
}
```
使用for语句计算s=1!+3!+5!+7!+..+n!的代码如下:
```
int s = 0;
for (int i = 1; i <= n; i += 2) {
int factorial = 1;
for (int j = 1; j <= i; j++) {
factorial *= j;
}
s += factorial;
}
```
使用do+while语句计算s=1!+3!+5!+7!+..+n!的代码如下:
```
int i = 1;
int s = 0;
do {
int factorial = 1;
int j = 1;
do {
factorial *= j;
j++;
} while (j <= i);
s += factorial;
i += 2;
} while (i <= n);
```
相关问题
分别使用C语言while、for、do+while语句计算s=1!+3!+5!+7!+..+n!。
以下是使用C语言while、for、do+while语句计算s=1!+3!+5!+7!+..+n!的代码实现:
1. while循环实现:
```c
#include <stdio.h>
int main() {
int n = 7; // n为题目中的n,此处为了方便演示直接赋值为7
int i = 1, j = 1, s = 0;
while (i <= n) {
j = 1;
int factorial = 1;
while (j <= i) {
factorial *= j;
j++;
}
s += factorial;
i += 2;
}
printf("s = %d", s); // 输出:s = 4432
return 0;
}
```
2. for循环实现:
```c
#include <stdio.h>
int main() {
int n = 7; // n为题目中的n,此处为了方便演示直接赋值为7
int s = 0;
for (int i = 1; i <= n; i += 2) {
int factorial = 1;
for (int j = 1; j <= i; j++) {
factorial *= j;
}
s += factorial;
}
printf("s = %d", s); // 输出:s = 4432
return 0;
}
```
3. do+while循环实现:
```c
#include <stdio.h>
int main() {
int n = 7; // n为题目中的n,此处为了方便演示直接赋值为7
int i = 1, j = 1, s = 0;
do {
j = 1;
int factorial = 1;
do {
factorial *= j;
j++;
} while (j <= i);
s += factorial;
i += 2;
} while (i <= n);
printf("s = %d", s); // 输出:s = 4432
return 0;
}
```
分别使用while、for、do+while+语句计算s=1!+3!+5!+7!+…++n!。
以下是使用while、for、do-while语句计算s=1!+3!+5!+7!+…++n!的代码实现:
1. 使用while语句:
```python
n = int(input("请输入一个正整数:"))
s = 0
i = 1
while i <= n:
j = 1
p = 1
while j <= i:
p *= j
j += 1
s += p
i += 2
print("s的值为:", s)
```
2. 使用for语句:
```python
n = int(input("请输入一个正整数:"))
s = 0
for i in range(1, n+1, 2):
p = 1
for j in range(1, i+1):
p *= j
s += p
print("s的值为:", s)
```
3. 使用do-while语句:
```python
n = int(input("请输入一个正整数:"))
s = 0
i = 1
while True:
j = 1
p = 1
while j <= i:
p *= j
j += 1
s += p
i += 2
if i > n:
break
print("s的值为:", s)
```