c++用while语句写一个程序,内容为输入一个整数,可为正数也可为负数,输出每位数字的和
时间: 2024-11-09 11:17:56 浏览: 27
当你需要在C++中编写一个while循环程序来计算输入整数每一位的和,可以按照以下步骤来做:
```cpp
#include <iostream>
#include <sstream> // 引入这个库用于处理字符串转整数
int main() {
int num;
std::cout << "请输入一个整数: ";
std::cin >> num; // 输入整数
std::string str_num = std::to_string(num); // 将整数转换为字符串便于遍历每一位
int sum = 0;
bool is_negative = (num < 0); // 判断是否为负数,存储进标志
if (is_negative) { // 如果是负数,先取绝对值
num = -num;
}
// 使用while循环遍历每一位数字并累加
while (!str_num.empty()) {
char digit = str_num.back(); // 取最后一位字符
sum += digit - '0'; // 加上对应的数值('0' 对应于 0)
str_num.pop_back(); // 移除最后一位
}
// 如果原数为负,则加上负号
if (is_negative) {
sum *= -1;
}
std::cout << "每位数字之和为: " << sum << std::endl;
return 0;
}
```
在这个程序中,我们首先读取用户的输入,然后将其转换成字符串以便逐位处理。接着,我们通过while循环取出每一位数字,将它们转换为数值并累加到总和`sum`中。如果是负数,还需要特别处理。最后输出每位数字之和。
阅读全文