(1)键盘输入一个任意整数(不超过9位),求出各位数之和,并统计出位数。
时间: 2024-09-18 17:07:54 浏览: 50
输入一个整数,计算并输出该数的数字之和.java
在C++中,你可以通过以下代码来实现这个功能:
```cpp
#include <iostream>
#include <string>
using namespace std;
int sumOfDigits(int num) {
int sum = 0;
while (num != 0) {
sum += num % 10;
num /= 10;
}
return sum;
}
int countDigits(int num) {
return floor(log10(num)) + 1;
}
int main() {
int number;
cout << "请输入一个不超过9位的整数:";
cin >> number;
int digitSum = sumOfDigits(number);
int digitCount = countDigits(number);
cout << "各位数之和为:" << digitSum << endl;
cout << "位数为:" << digitCount << endl;
return 0;
}
```
在这个程序中,`sumOfDigits` 函数接收一个整数,通过不断地取余数(%10)并将结果累加到 `sum` 中,直到数字变为0,计算出了各位数之和。`countDigits` 函数则利用对数性质 `log10(n)` 计算出整数的位数(向下取整,因为实际位数可能小于计算结果)。然后在 `main` 函数中,用户输入一个整数,程序会显示其各位数之和和位数。
阅读全文