求问 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的整数的功能。