c++输入三个正整数,输出组成最大的三位十进制数
时间: 2024-03-23 10:36:03 浏览: 14
好的,我可以帮你解决这个问题。你可以使用以下代码:
```c++
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
int maxNum = a;
if (b > maxNum) {
maxNum = b;
}
if (c > maxNum) {
maxNum = c;
}
int minNum = a;
if (b < minNum) {
minNum = b;
}
if (c < minNum) {
minNum = c;
}
int midNum = a + b + c - maxNum - minNum;
cout << maxNum << midNum << minNum << endl;
return 0;
}
```
这段代码会首先读入三个正整数,然后找到它们中的最大值、最小值和中间值。最后,它会按照最大值、中间值和最小值的顺序输出它们组成的最大的三位十进制数。
相关问题
输入三个正整数,输出这三个数的最大公约数c++
好的,您可以使用以下代码来实现:
```c++
#include <iostream>
using namespace std;
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int main() {
int a, b, c;
cin >> a >> b >> c;
int ans = gcd(gcd(a, b), c);
cout << ans << endl;
return 0;
}
```
这里使用递归的方式实现了求最大公约数的功能。具体来说,我们使用辗转相除法来求两个数的最大公约数,然后再依次求三个数的最大公约数。
输入: n 个十六进制正整数 输出: 对应的八进制数 C++
你可以使用C++中的字符串流和位运算来完成这个任务。首先,将十六进制数转换为十进制数,然后再将十进制数转换为八进制数。以下是一个示例代码:
```cpp
#include <iostream>
#include <sstream>
std::string hexToOct(std::string hex) {
std::stringstream ss;
ss << std::hex << hex;
unsigned int dec;
ss >> dec;
std::stringstream oct_ss;
oct_ss << std::oct << dec;
return oct_ss.str();
}
int main() {
int n;
std::cout << "请输入十六进制数的个数:";
std::cin >> n;
std::cout << "请输入 " << n << " 个十六进制正整数:" << std::endl;
for (int i = 0; i < n; i++) {
std::string hex;
std::cin >> hex;
std::string oct = hexToOct(hex);
std::cout << "对应的八进制数为:" << oct << std::endl;
}
return 0;
}
```
在这个示例中,我们首先定义了一个`hexToOct`函数,它将一个十六进制字符串转换为对应的八进制字符串。然后,在`main`函数中,我们首先读取要转换的十六进制数的个数`n`,然后逐个读取十六进制数并调用`hexToOct`函数进行转换,并输出结果。
请注意,这个示例假设输入的十六进制数是有效的,并且没有处理输入错误的情况。你可以根据需要进行错误处理。