非字符串!!! 普通数字的反转
查看原帖
非字符串!!! 普通数字的反转
1039524
Nature_LQ楼主2023/11/24 23:04

我想到了一个神奇的办法

使用unsigned long long!!!

#include <iostream>

using namespace std;

typedef unsigned long long p;   //将unsigned long long声明为p类型
p a, b;                         //本人十分懒惰!!!
//将输入部分分为两个整数
char c;
//符号  .  %  /

p  f( p n ) {                   //反转整数的函数(不论正负)
    p x = 0;
    for ( ; n; n /= 10 )
        x = x * 10 + n % 10;
    /*
        将原数的每一位的通过求余10的方式求出,再将x*10加到后方
    */
    return x;                   //返回的仍然是整数!!!
}

int main() {
    cin >> a;
    cout << f( a );
    if ( cin.get( c ) ) {//判断是否输入符号c
        //简单的判断
        if ( c == '%' )
            cout  << '%';
        else {
            cin >> b;
            cout << c << f( b );
        }
    }
    return 0;
}
2023/11/24 23:04
加载中...