用C++实现将三位数的每一位分离求和
时间: 2025-01-29 15:17:43 浏览: 21
在C++中,你可以通过定义一个函数来实现将任意三位数的每一位相加的功能。首先,你需要创建一个字符串变量来存储输入的数字,并遍历这个字符串,逐位提取数值并求和。这里是一个简单的示例:
```cpp
#include <iostream>
#include <string>
int sumOfDigits(const std::string &num) {
int sum = 0;
for (size_t i = 0; i < num.length(); ++i) {
// 确保每个字符都是有效的数字
if (isdigit(num[i])) {
sum += num[i] - '0'; // 字符减去'0'转换为整数
}
}
return sum;
}
std::string inputThreeDigitNumber() {
std::cout << "请输入一个三位数: ";
std::string num;
std::cin >> num;
// 检查输入是否为三位数
if (num.length() == 3 && isdigit(num[0]) && isdigit(num[1]) && isdigit(num[2])) {
return num;
} else {
std::cerr << "输入错误,需要一个三位数!\n";
return "";
}
}
int main() {
std::string threeDigitNum = inputThreeDigitNumber();
if (!threeDigitNum.empty()) {
int digitSum = sumOfDigits(threeDigitNum);
std::cout << "三位数每位之和为: " << digitSum << "\n";
}
return 0;
}
```
在这个例子中,`inputThreeDigitNumber`函数用于获取用户输入的三位数,然后`sumOfDigits`函数计算每一位的和。如果输入不是三位数,程序会提示错误。
阅读全文
相关推荐

















