注册 登录
编程论坛 C++教室

逆序输出一个整数,如果末尾数为零,如100逆序变成1,怎么消除0

程序人生。 发布于 2019-10-31 10:38, 2668 次点击
逆序输出一个整数,如果末尾数为零,如100逆序变成1,怎么消除0,求各位大神指教一下
4 回复
#2
yangfrancis2019-10-31 18:13
#include<iostream>
using namespace std;
int Backward(int n)
{
    int m,result=0;
    while(n)
    {
        m=n%10;
        result=result*10+m;
        n/=10;
    }
    return result;
}
int main()
{
    cout<<Backward(102)<<endl;
    return 0;
}
#3
yangfrancis2019-10-31 18:16
就是从个位一位一位地读取,(m=n%10;)
一位一位地添加到新的数的末尾。(result=result*10+m;)
原数末位读出后即删掉.(n/=10;)
#4
uouo992019-11-01 12:24
请参考下面这个帖子里的几种方法:
https://bbs.bccn.net/thread-497304-1-1.html
#5
wyx_luffy2019-11-20 18:02
去零法↓↓↓
程序代码:

#include<iostream>
using namespace std;
int main(){
    int n,t;
    cin>>n;
    while(n%10==0){
        n/=10;//去零
    }
    while(n){
        t=n%10;//提取数位
        cout<<t;//输出数位
        n/=10;//改变n的个位
    }
    return 0;
}

1