数字翻转(4位数)

任务描述

本关任务:输入一个四位正整数,输出这个数的翻转。

测试说明

平台会对你编写的代码进行测试:

测试输入:4233

预期输出:

3324

测试输入:5211

预期输出:

1125

#include<stdio.h>

int main()
{
	int a;
	scanf("%d",&a);
	
	int b=a%10;
	int z=a/10;
	int c=z%10;
	int y=z/10;
	int d=y%10;
	int x=y/10;
	
	int q=b*1000+c*100+d*10+x;
	printf("%d",q);
	
	return 0;
	
}

### C语言中实现数字翻转的方法 在C语言中,数字翻转可以通过多种方法实现。以下是几种常见的实现方式及其代码示例。 #### 方法一:通过数学运算实现 使用取模运算和整除运算来逐步提取数字的每一位,将其重新组合成一个新的逆序数字[^1]。 ```c #include <stdio.h> int reverse(int num) { int sum = 0; while (num) { sum = sum * 10 + num % 10; num /= 10; } return sum; } int main() { int n; scanf("%d", &n); printf("%d\n", reverse(n)); return 0; } ``` 这种方法适用于任意位数的整数,且代码简洁高效。 #### 方法二:针对固定位数数字 如果需要翻转的是固定位数数字(例如三位数),可以分别读取每一位数重新组合[^2]。 ```c #include <stdio.h> int main() { int i, j, k; printf("请输入一个位数:"); scanf("%1d%1d%1d", &i, &j, &k); printf("倒序输出该三位数:%d%d%d\n", k, j, i); return 0; } ``` 此方法适合于特定场景,但不适用于任意长度的数字。 #### 方法三:判断回文数时的数字翻转 在判断回文数的过程中,也可以实现数字翻转。通过将原数字逐步分解重新组合,最终得到翻转后的数字[^3]。 ```c bool isPalindrome(int x) { int r = 0, temp = x; while (temp != 0) { // 数字翻转 r = temp % 10 + r * 10; temp = temp / 10; } if ((r == x) && (x > 0)) { // 负数不可能是回文数 return 1; } else { return 0; } } ``` 尽管这段代码的主要目的是判断回文数,但它同时展示了如何实现数字翻转。 #### 注意事项 - 在处理负数时,需特别注意符号的影响。上述方法通常假设输入为非负整数。 - 如果需要支持大整数翻转,可能需要考虑数据类型的范围限制,或者使用字符串处理的方式。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值