7-25 实验3_8_位数对调 (100 分) 逆序数的多种写法

已知一个正整数n(可以用int存储),你的任务是将n的最低位与最高位上的数字对调,次低位与次高位上的数字对调,以此类推,直到中间位。最后得到一个新整数并将新的数字输出。需要注意的是:如果当最低位数字与最高位数字对调后,数字的长度变短(也就是最低位为0),则不能对这个数进行位数对调处理。

输入格式:

只有一个正整数,即n。

输出格式:

当n可以进行数字对调时,例如n=123,你应输出“321”;当n不可以进数字对调时,例如n=980,你应输出“The number cannot be changed.”。

输入样例:

1365

输出样例:

5631

代码如下:‘

就是求逆置数 

方法一:

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    if(n%10==0)
        printf("The number cannot be changed.");
    else
    {
        while(n/10>0)
        {
            printf("%d",n%10);
            n=n/10;
        }
        printf("%d\n",n);
    }
    return 0;
}

这种方法有一点点投机取巧的味道,,直接把数从最后一个一个打印了 

方法二:

#include<stdio.h>
int main()
{
	int n,s=0;
	scanf("%d", &n);
	while (n > 0)
	{
		s = s * 10 + n % 10;
		n /= 10;
	}
	printf("%d", s);
	return 0;
}

这可能是比较主流的写法吧

就写两个,大家可以分享自己的代码在评论区哦! 

大家可以订阅这个专栏,我会在这里分享北邮计算机作业,,分享优质题目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值