用c语言实现给定一个整数n(-100,000,000≤n≤100,000,000),输出按位逆序的数字。比如输入1234,输出4321,输入-2589,输出-9852。如果末尾为0,则逆序输出的时候不应带前导的0。比如60500,逆序输出为506;-120300,逆序输出为-3021。
时间: 2024-02-13 22:04:45 浏览: 96
C语言实现整数逆序输出
5星 · 资源好评率100%
好的,以下是用 C 语言实现的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char n[50]; // 定义字符数组存储整数n的字符串形式
scanf("%s", n); // 读入整数n
if (n[0] == '-') // 判断n的正负性
{
printf("-"); // 如果n为负数,则先输出负号
memmove(n, n + 1, strlen(n)); // 去掉负号,方便后续操作
}
int i = 0;
while (n[i] == '0') // 去除n末尾的0
{
i++;
}
int len = strlen(n); // 获取n的长度
for (int j = len - 1; j >= i; j--) // 逆序输出n
{
printf("%c", n[j]);
}
return 0;
}
```
这段代码中,首先定义字符数组存储整数n的字符串形式,然后判断输入的整数n是否为负数,如果是,则输出负号,并将n的负号去掉,方便后续操作。接着使用 while 循环去除n末尾的0,然后使用 for 循环逆序输出n的每一位数字。注意要使用 memmove() 函数去掉负号,并使用 strlen() 函数获取n的长度。
阅读全文