输入一个六位数,要求,输出结果个位与千位互换,十位与万位互换,百位与十万位互换c++
时间: 2024-10-24 21:14:38 浏览: 21
你可以使用C++通过位操作的方式来实现这个需求。这里是一个简单的例子:
```cpp
#include <iostream>
int swap_digits(int num) {
// 获取每一位的值
int ones = num & 0x000000FF; // 个位
int tens = (num >> 8) & 0x000000FF; // 十位
int hundreds = (num >> 16) & 0x000000FF; // 百位
int thousands = (num >> 24) & 0x000000FF; // 千位
int hundredthousands = num & 0xFF000000; // 十万位
// 交换位置
num = ((hundredthousands << 24) | (ones << 16) | (tens << 8) | thousands);
return num;
}
int main() {
int input_num;
std::cout << "请输入一个六位数: ";
std::cin >> input_num;
int result = swap_digits(input_num);
std::cout << "交换后的数字是: " << result << std::endl;
相关问题
用c++输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成加密后的新四位数。例如输入1257,经过加9取余后得到新数字0146,再经过两次换位后得到4601。
以下是实现该加密算法的 C 代码:
```c
#include <stdio.h>
int main() {
int num, a, b, c, d, tmp;
printf("请输入一个四位数:");
scanf("%d", &num);
// 每一位加9并取余
d = (num + 9) % 10;
c = ((num / 10) + 9) % 10;
b = ((num / 100) + 9) % 10;
a = ((num / 1000) + 9) % 10;
// 交换千位和十位,百位和个位
tmp = a;
a = b;
b = tmp;
tmp = c;
c = d;
d = tmp;
// 输出加密后的结果
printf("加密后的结果为:%d%d%d%d\n", a, b, c, d);
return 0;
}
```
示例输出:
```
请输入一个四位数:1257
加密后的结果为:4601
```
c++语言输入一个二位数,将其个位数和十位数互换后变成一个新的数,输出这个数
以下是 C 语言代码:
```
#include <stdio.h>
int main() {
int num, temp, tens, ones, swapped;
printf("请输入一个两位数: ");
scanf("%d", &num);
tens = num / 10;
ones = num % 10;
swapped = ones * 10 + tens;
printf("互换后的数为: %d\n", swapped);
return 0;
}
```
这段代码将会接收一个两位数,将它的十位数和个位数互换,然后输出新的数。例如,输入 42,输出 24。
阅读全文