输入一批正整数,用-1做终止标记,求其中能被3或7整除的数之和,输出数据不控制列宽,例如输入5 1 3 7 8 6 21 -1,应该输出37,语言选用DEV C++
时间: 2023-05-19 08:05:28 浏览: 85
好的,让我来回答你的问题。以下是可以解决你提出的问题的代码:
```c
#include <stdio.h>
int main() {
int num, sum = 0;
scanf("%d", &num);
while (num != -1) {
if (num % 3 == 0 || num % 7 == 0) {
sum += num;
}
scanf("%d", &num);
}
printf("%d", sum);
return 0;
}
```
这段代码可以读入一批正整数,直到遇到-1为止。然后,它会计算其中能被3或7整除的数之和,并将结果输出。希望这可以帮助你解决你的问题。
相关问题
用if while语句编写: 输入一批正整数,用-1作终止标记,求其中能被3或7整除的数之和。输出数据不控制列宽。例如输入 5 1 3 7 8 6 21 -1 则应输出 37 注意:语言选DEV C++。
```c
#include <stdio.h>
int main() {
int num, sum = 0;
printf("请输入一批正整数,以-1作为终止标记:\n");
scanf("%d", &num);
while (num != -1) {
if (num % 3 == 0 || num % 7 == 0) {
sum += num;
}
scanf("%d", &num);
}
printf("能被3或7整除的数之和为:%d\n", sum);
return 0;
}
```
输入一个正整数n,求解并输出1~n之间能被3整除、但不能被7整除的所有整数之 和。
### 回答1:
算法步骤:
1. 输入正整数n;
2. 初始化累加和sum为0;
3. 从1到n遍历每个整数i:
- 若i能被3整除且不能被7整除,则将i加到sum中;
4. 输出sum。
代码实现(Python):
n = int(input()) # 输入正整数n
sum = 0 # 初始化累加和sum为0
for i in range(1, n+1): # 遍历1~n之间的每个整数i
if i % 3 == 0 and i % 7 != 0: # 判断i是否能被3整除且不能被7整除
sum += i # 将i加到sum中
print(sum) # 输出sum
### 回答2:
要解决这个问题,我们首先需要找到1~n之间能被3整除,但不能被7整除的所有整数。我们可以使用循环来逐个检查从1到n之间的每个整数。
具体的步骤如下:
1. 初始化一个变量sum,用于存储满足条件的整数的和,将其初始值设为0。
2. 使用一个循环从1遍历到n,每次迭代检查当前的数是否能被3整除且不能被7整除。
3. 如果当前数满足条件,将其加到sum中。
4. 循环结束后,输出sum。
以下是示例代码实现:
```python
def calculate_sum(n):
sum = 0
for i in range(1, n+1):
if i % 3 == 0 and i % 7 != 0:
sum += i
return sum
n = int(input("请输入一个正整数n:"))
result = calculate_sum(n)
print("1~{}之间能被3整除、但不能被7整除的所有整数之和为:{}".format(n, result))
```
希望以上回答能够对您有所帮助。
### 回答3:
首先,我们可以使用循环遍历1到n之间的所有整数。对于每个整数i,我们检查它是否能同时被3和7整除,如果不能,则将其加到总和中。
具体的步骤如下:
1. 输入一个正整数n。
2. 初始化一个变量sum为0,用于存储符合条件的整数之和。
3. 使用for循环遍历1到n之间的所有整数:
- 对于每个整数i,使用if条件语句判断是否能够被3整除且不能被7整除:
- 如果满足条件,则将i加到sum中。
4. 输出sum,即为1到n之间能被3整除但不能被7整除的所有整数之和。
下面是一个示例代码:
```python
n = int(input("请输入一个正整数n:"))
sum = 0
for i in range(1, n+1):
if i % 3 == 0 and i % 7 != 0:
sum += i
print("1到{}之间能被3整除但不能被7整除的整数之和为{}".format(n, sum))
```
例如,当输入n为10时,输出结果为"1到10之间能被3整除但不能被7整除的整数之和为18"。