编写一个c++程序找出一个正整数n的各位数字中最大的数字,n由键盘输入
时间: 2023-05-23 22:06:52 浏览: 265
A:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入一个正整数n: ";
cin >> n;
int max_digit = 0;
while (n > 0) {
int digit = n % 10; // 取出最低位数字
if (digit > max_digit) {
max_digit = digit;
}
n = n / 10; // 去掉最低位数字
}
cout << "n的各位数字中最大的数字为:" << max_digit << endl;
return 0;
}
```
示例输出:
```
请输入一个正整数n: 12345
n的各位数字中最大的数字为:5
```
相关问题
c++中编写程序找出一个正整数,n的各位数字中最大的数,n由键盘输入
在C++中,你可以通过遍历每一位数字并比较找到最大值的方式来实现这个功能。这里是一个简单的示例程序:
```cpp
#include <iostream>
using namespace std;
int main() {
int n, digit, max_digit = 0;
cout << "请输入一个正整数: ";
cin >> n; // 获取用户输入
while (n > 0) { // 当n大于0时,继续循环
digit = n % 10; // 取出n的最后一位数字
if (digit > max_digit) { // 如果当前数字比已知的最大数字大
max_digit = digit; // 更新最大数字
}
n /= 10; // 移除已经处理过的最低位
}
cout << "输入数中的最大数字是: " << max_digit << endl;
return 0;
}
```
在这个程序里,我们首先读取用户的输入,然后用`while`循环逐个提取出每一位数字。如果提取到的数字大于之前保存的最大数字,就更新`max_digit`。当所有的数字都被处理过之后,`max_digit`就是原数中的最大数字。
用C++语言编写输入一个正整数n,输出n中不同数字的和
好的,以下是使用 C++ 编写的代码:
```cpp
#include <iostream>
#include <unordered_set>
using namespace std;
int main() {
int n;
cin >> n;
unordered_set<int> digits;
while (n > 0) {
digits.insert(n % 10);
n /= 10;
}
int sum = 0;
for (int digit : digits) {
sum += digit;
}
cout << "不同数字的和为:" << sum << endl;
return 0;
}
```
在这个程序中,我们使用了 `unordered_set` 这个 STL 容器来存储每个不同的数字。同时,我们也可以使用 `unordered_map` 来实现类似的功能。最后,我们遍历了 `unordered_set` 中的所有元素,并将它们的值加起来得到了不同数字的和。
阅读全文