下面是一个简单的C++程序示例,该程序会提示用户输入一个整数,然后输出该整数的每一位数字,数字之间用空格分隔开,并且最后输出这些数字的和。
#include <iostream>
using namespace std;int main() {
int number, sum = 0;
cout << "请输入一个整数: ";
cin >> number;// 处理负数的情况,将其转为正数处理
if(number < 0) number *= -1;while(number > 0) {
int digit = number % 10; // 取出当前最低位的数字
sum += digit; // 累加到总和
if(number / 10 > 0) // 如果不是最后一位,输出空格
cout << digit << " ";
else
cout << digit; // 最后一位数字后不输出空格
number /= 10; // 去掉最低位
}cout << "\n这些数字的和为: " << sum << endl;
return 0;
}
效果展示:
这个程序首先提示用户输入一个整数,并读取该整数。然后,通过循环处理该整数的每一位数字:首先使用%10操作符获取当前最低位数字,并累加到总和sum中;然后,如果这不是最高位(即原数除以10后还有余数),就在数字后面输出一个空格分隔开;最后,用/10去掉已处理的最低位。处理完所有位后,程序输出所有数字的和。注意,为了处理负数时也能正确输出,程序首先将负数转为正数处理,这样不影响每一位数字的提取和求和,但实际输出时仍保持原数值的正负特性。