编写程序,输入3位正整数m和n(100<=m<n<=999),输出m和n之间满 足下列条件的所有整数之和:整数能被5整除且各位数字之和等于5。若没有满足 条件的整数,则输出"No Data"提示(C语言解答
时间: 2024-10-29 19:10:17 浏览: 47
编写程序输出前n个正整数的字典序全排列
5星 · 资源好评率100%
在C语言中,编写一个程序来解决这个问题,你可以采用循环和条件判断的方式。这里是一个简单的示例:
```c
#include <stdio.h>
int main() {
int m, n, sum = 0;
printf("请输入一个范围 (m, n) (100 <= m < n <= 999): ");
scanf("%d %d", &m, &n);
// 遍历从m到n之间的所有三位数
for (int i = m; i <= n; ++i) {
int digits[3], total = 0;
// 将整数分解成每一位
digits[0] = i / 100; // 百位
digits[1] = i % 100 / 10; // 十位
digits[2] = i % 10; // 个位
// 检查每位数字之和是否等于5
for (int j = 0; j < 3; ++j) {
total += digits[j];
}
// 如果总和等于5并且能被5整除,则累加到sum上
if (total == 5 && i % 5 == 0) {
sum += i;
}
}
// 没有满足条件的整数则输出"No Data"
if (sum == 0) {
printf("No Data\n");
} else {
printf("符合条件的整数之和为: %d\n", sum);
}
return 0;
}
```
在这个程序中,我们首先读取用户输入的m和n,然后遍历这个范围内所有的三位数,检查每个数是否同时满足两位数之和等于5和能被5整除。如果找到这样的数,就将其添加到总和sum中。最后,如果没有找到任何符合条件的数,就打印"No Data"。
阅读全文