对于给定的正整数n,计算其各个位上的数字之和。C++
时间: 2024-04-12 16:30:21 浏览: 153
以下是一个用C++编写的计算正整数各个位数之和的函数:
```cpp
#include <iostream>
int sumOfDigits(int n) {
int sum = 0;
while (n > 0) {
sum += n % 10; // 取出最低位数字并累加到总和
n /= 10; // 去掉最低位数字
}
return sum;
}
int main() {
int n;
std::cout << "请输入一个正整数:";
std::cin >> n;
int sum = sumOfDigits(n);
std::cout << "各个位上的数字之和为:" << sum << std::endl;
return 0;
}
```
你可以通过调用 `sumOfDigits` 函数来计算给定正整数的各个位数之和。
相关问题
用c++代码写出来给定一个三位正整数,输出其百位数字、十位数字及个位数字。 输入格式: 直接输入一个三位正整数,没有其它任何附加字符。 输出格式: 在一行中输出所输入正整数的各个位数字,各个数字之间用逗号间隔,没有其它任何附加字符。
你可以使用C++的`cin`和`%d`运算符来获取输入的三位正整数,然后通过`/`和`%`运算符来提取每个数字。以下是简单的示例代码:
```cpp
#include <iostream>
int main() {
int num;
std::cout << "请输入一个三位正整数: ";
// 输入操作
std::cin >> num;
// 提取并打印百位、十位和个位数字
int hundreds = num / 100; // 百位(除以100并向下取整)
int tens = (num % 100) / 10; // 十位(先对100取余,然后除以10)
int ones = num % 10; // 个位(直接对10取余)
// 输出格式化
std::cout << "百位: " << hundreds << ", 十位: " << tens << ", 个位: " << ones << std::endl;
return 0;
}
```
当你运行此程序时,它会提示用户输入一个三位数,并按照指定的格式显示每个数字。
用C++实现给定一个不超过1000位的正整数N,统计0-9各数字出现的次数
可以使用数组来统计每个数字出现的次数。具体实现如下:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char num[1001]; // 存储输入的数字
int count[10]; // 统计每个数字出现的次数
memset(count, 0, sizeof(count)); // 将count数组全部初始化为0
cin >> num; // 输入数字
int len = strlen(num); // 获取数字的长度
for (int i = 0; i < len; i++) {
count[num[i] - '0']++; // 统计数字出现的次数
}
for (int i = 0; i < 10; i++) {
cout << i << ": " << count[i] << endl; // 输出每个数字出现的次数
}
return 0;
}
```
在输入一个不超过1000位的正整数后,程序会统计数字0-9各出现的次数,并输出结果。
阅读全文