-2

数値を逆に書き込もうとしましたが、実際には文字列に変換しない方法を見つけましたが、コードは 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;
}
4

2 に答える 2

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;
}
于 2013-07-16T16:54:12.417 に答える