编程实现逆序输出一个整数。例如,输出123,输出321;输入120,输出021
时间: 2023-05-16 12:05:26 浏览: 152
可以使用字符串反转的方法来实现逆序输出一个整数。具体实现代码如下:
```
#include <iostream>
#include <string>
using namespace std;
int main()
{
int num;
cin >> num;
string str = to_string(num);
string reversed_str = string(str.rbegin(), str.rend());
cout << reversed_str << endl;
return 0;
}
```
这段代码先将整数转换为字符串,然后使用字符串反转的方法得到逆序字符串,最后输出即可。
相关问题
输入一个整数,将这个整数逆序输出,例如输入123后,输出整数321,输入-123后,输出整数-321
要将一个整数逆序输出,你可以通过编程语言实现,这里给出一个简单的Python示例:
```python
def reverse_integer(n):
sign = 1 if n >= 0 else -1
reversed_num = abs(n)[::-1] * sign
return int(reversed_num) if reversed_num <= 2**31 - 1 else "Overflow occurred"
# 示例
input_num = 123
output_num = reverse_integer(input_num)
print(f"输入{input_num}逆序后为:{output_num}")
# 输入-123逆序后的情况类似
negative_input = -123
reversed_negative = reverse_integer(negative_input)
print(f"输入{-negative_input}逆序后为:{reversed_negative}")
```
这段代码首先判断输入整数的正负,并记录下其符号。然后取绝对值进行逆序操作(`[::-1]`表示从后往前取元素),最后再乘以原符号并转换回整数。注意,如果反转后的数字超过了整型的最大值(如32位系统中的`2^31 - 1`),则会返回"Overflow occurred"。
用C语言编程实现如下:输入一个整数(可以是正数,负数或者0),要求:(1)求出它是几位数; (2)分别输出每一位数字.例如123,输出123; (3)按逆序输出各位数字,例如原数为 321,应输出123。
在C语言中,你可以通过以下几个步骤实现这个功能:
1. **获取整数位数**:
使用`strlen()`函数可以计算字符串的长度,实际上这等同于整数的位数。需要注意的是,你需要先将整数转换成字符串。
```c
#include <stdio.h>
#include <string.h>
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
// 将整数转换为字符串
char str[100];
sprintf(str, "%d", num);
// 计算位数
int length = strlen(str);
printf("该数有%d位。\n", length);
}
```
2. **输出每一位数字**:
遍历字符串,依次打印每个字符即可。
```c
for(int i=0; i<length; i++) {
printf("%c", str[i]);
}
printf("\n");
```
3. **逆序输出各位数字**:
可以使用双指针技巧,一个从前往后遍历,一个从后往前遍历,并交换它们指向的字符。
```c
char reverse_str[100];
int left = 0, right = length - 1;
while (left < right) {
swap(&str[left], &str[right]);
left++;
right--;
}
printf("逆序后的数字是: ");
for(int i=0; i<length; i++) {
printf("%c", str[i]);
}
printf("\n");
return 0;
}
// 模拟swap函数
void swap(char* a, char* b) {
char temp = *a;
*a = *b;
*b = temp;
}
```
阅读全文