用反向c ++编写数字

时间:2013-07-16 16:47:04

标签: c++ string reverse

我尝试反向编写数字,实际上我发现了一种不用字符串转换它们的方法,但我的代码仅适用于10000000000以下。 我不知道为什么我甚至将int改为long long但仍然无效。

#include <stdio.h>
#include <iostream>



using namespace std;


/*
 * 
*/
int main(int argc, char** argv) {
long long n;
scanf("%lld",&n);
printf("%lld",n%10);
for (int i=10;i<n;) {
    i=10*i;
    printf("%lld",((n%i)-(n%(i/10)))/(i/10));
}
return 0;
}

2 个答案:

答案 0 :(得分:2)

试试这个

int main(int argc, char** argv) {
   long long n;

   scanf("%lld",&n);
   printf("%lld",n%10);

   while (n /= 10) {
       printf("%lld",n%10);
   }
   return 0;
}

答案 1 :(得分:2)

有一个更整洁的版本,如Iosif所示。但是,如果您对为什么不感兴趣,我认为这是因为您需要将i声明为long long。< / p>