NOIP 2011 普及組 複賽 reverse 數字反轉
1.該題核心是分離出數字的個十百千萬等位數字。
2.該題的陷阱是輸入900000,輸出9,這個不容易想到。
附上AC代碼,編譯環境Dev-C++4.9.9.2
#include <stdio.h>
int main(){
int n;
int a[20];
int top;
int flag;
int i,j;
scanf("%d",&n);
if(n==0){//n=0處理
printf("0\n");
return 0;
}
if(n>0)//大于0
flag=1;
else{//小于0
flag=-1;
n*=-1;
}
top=-1;
while(n){
top++;
a[top]=n%10;
n/=10;
}
if(flag==-1)
printf("-");
j=0;
while(a[j]==0&&j<=top)
j++;
for(i=j;i<=top;i++)
printf("%d",a[i]);
return 0;
}
//洛谷 p1307 數字反轉
//難度:入門難度
//考點:輸入,輸出 ,整數四則運算,取整,取模
//适用:國小生
#include <stdio.h>
int main(){
int n;
int ans=0;
scanf("%d",&n);
if(n<0){
printf("-");
n=-n;
}
while(n){
ans*=10;
ans+=n%10;
n/=10;
}
printf("%d\n",ans);
return 0;
}