C ++反转任意长度的数字

时间:2014-05-26 19:37:37

标签: c++ algorithm

我想反转用户给出的数字。我用这样的方式编写代码,它取数字和输入的位数并反转它。即使“long long”的限制是19位数,即使输入中的位数大于20,我还能做什么才能使代码工作? [不使用第三方库]

#include<iostream>
using namespace std;

void make_int(int a[],long long int n)
{
    int i=0;
    while(n)
    {
        a[i]=n%10;
        i++;
        n=n/10;
    }
    for(int j=0;j<i;j++)
        cout<<a[j];

}

int main()
{

    int N;
    cin>>N;
    int *tc = new int[N];
    long long int num;
    cin>>num;
    make_int(tc,num);
    return 0;
}

1 个答案:

答案 0 :(得分:2)

将数字作为std::string读取并反过来,因为它的实际数值对于您想要做的事情并不重要。