[one_demo_6]逆置整数
/*
一般情况下的思路是先循环出这个整数的位数,然后,再循环这个整数
依次从个位开始,乘以10的最高位数减1减当前位的次方,再累加这个数得到逆置的数。
这里直接在循环取得各位上的数时,将这个位上数存入浮点数,同时累加这个浮点数乘为整数要乘的数。
循环结束,将这个浮点数乘为整数,得到逆置的数。
*/
void main()
{
int num;
scanf("%d", &num);
int weishu;
float nizhinum = 0.0;//在取得各个位的数后存放在这个浮点数中
int nizhi;
float fudianwei = 0.1;
int zhengwei = 1;
for (; num; num /= 10)
{
weishu = num % 10;
nizhinum += fudianwei * (float)weishu;//在取得各个位的数后存放在这个浮点数中
fudianwei = 0.1 * fudianwei;
zhengwei = 10 * zhengwei;//累计这个浮点数乘以的数,以便循环结束后将其乘为逆置的数
}
nizhi = nizhinum * zhengwei;
printf("%d", nizhi);
system("pause");
}