原题目为逆置一个三位数
#include<stdio.h>
#include<math.h>
void reverse(int n,int &m){
//int a[]={0};
int a[110];
int count=0;
int temp;
printf("m=%d\n", m);
while(n!=0){
temp = n%10;
printf("%d\n",temp);
a[count]=temp;
printf("a[%d]=%d\n", count ,a[count]);
n = n/10;
count++;
printf("count=%d\n",count);
}
for(int i=0;i<count;i++)
{
printf("%d ", a[i]);
}
printf("\n");
printf("count=%d\n",count);
for(int i=0;i<count;i++){
printf("---%d\n", a[i]);
printf("a[%d] = %d \n", i ,a[i]);
m += a[i]*(int)pow(10,count-i-1);
printf("pow=%d res=%d\n", (int)pow(10,count-i-1),a[i]*(int)pow(10,count-i-1));
printf("%d\n", m);
}
printf("%d",m);
}
int main(){
int n;
int m=0;
scanf("%d",&n);
reverse(n,m);
}
pow算出来的浮点数是10.0000…,强制转换为int类型后会变为99