求问 C++编码实现:键盘输入10个整数(数据位数为1~10位),输出各位数字之和为7的所有整数
为实现键盘输入10个整数,然后输出各位数字之和为7的所有整数,我们可以按照以下步骤进行:
1. 输入10个整数
首先,我们需要从键盘获取用户输入的10个整数。在 C++ 中,可以使用 std::cin
进行输入操作,并将这些整数存储在一个数组中。
cpp#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers(10); // 创建一个大小为10的整数数组
std::cout << "请输入10个整数:" << std::endl;
for (int i = 0; i < 10; ++i) {
std::cin >> numbers[i];
}
// 输入完成后,继续下面的逻辑处理
}
2. 计算各位数字之和为7的整数
接下来,我们需要编写逻辑来判断每个整数的各位数字之和是否为7,并将符合条件的整数输出。
cpp#include <iostream>
#include <vector>
int sumOfDigits(int number) {
int sum = 0;
while (number != 0) {
sum += number % 10;
number /= 10;
}
return sum;
}
int main() {
std::vector<int> numbers(10); // 创建一个大小为10的整数数组
std::cout << "请输入10个整数:" << std::endl;
for (int i = 0; i < 10; ++i) {
std::cin >> numbers[i];
}
std::cout << "各位数字之和为7的整数有:" << std::endl;
for (int i = 0; i < 10; ++i) {
if (sumOfDigits(numbers[i]) == 7) {
std::cout << numbers[i] << std::endl;
}
}
return 0;
}
3. 细节说明
sumOfDigits
函数用于计算一个整数的各位数字之和。它通过不断取模和整除10的操作,累加每一位的数字。- 主程序中,首先从键盘输入10个整数并存储在
numbers
数组中。 - 然后遍历数组,对每个整数调用
sumOfDigits
函数,判断其各位数字之和是否等于7,如果是则将该整数输出。
示例
假设用户输入的10个整数为:123, 456, 789, 21, 34, 567, 890, 1234, 56789, 9876。
程序运行后,输出各位数字之和为7的整数:
789 456 567
这些整数的各位数字之和分别为7。
通过以上步骤,可以实现按照要求筛选并输出各位数字之和为7的整数的功能。