要計算兩個數(shù)之間(包括輸入的兩個數(shù))的所有數(shù)的數(shù)位之和,你可以編寫一個C++程序來實現(xiàn)。下面是一個簡單的示例代碼,演示如何實現(xiàn)這一功能:
#include <iostream>
// 計算一個數(shù)的數(shù)位之和
int digitSum(int num) {
int sum = 0;
while (num > 0) {
sum += num % 10;
num /= 10;
}
return sum;
}
// 計算兩個數(shù)之間所有數(shù)的數(shù)位之和
int rangeDigitSum(int start, int end) {
int totalSum = 0;
for (int i = start; i <= end; ++i) {
totalSum += digitSum(i);
}
return totalSum;
}
int main() {
int num1, num2;
std::cout << "請輸入兩個整數(shù): ";
std::cin >> num1 >> num2;
// 確保num1小于或等于num2
if (num1 > num2) {
std::swap(num1, num2);
}
int result = rangeDigitSum(num1, num2);
std::cout << "從" << num1 << "到" << num2 << "之間所有數(shù)的數(shù)位之和是: " << result << std::endl;
return 0;
}
代碼說明:
- digitSum函數(shù):用于計算一個整數(shù)的數(shù)位之和。
- rangeDigitSum函數(shù):用于計算兩個整數(shù)之間所有整數(shù)的數(shù)位之和。它遍歷從start到end的每個數(shù),并累加每個數(shù)的數(shù)位之和。
- main函數(shù):負責輸入兩個整數(shù),并輸出它們之間所有數(shù)的數(shù)位之和。程序確保num1小于或等于num2,以便正確地遍歷范圍。
你可以編譯并運行這個程序,然后輸入兩個整數(shù),程序將輸出這兩個整數(shù)之間所有數(shù)的數(shù)位之和。