[one_demo_6]逆置整数 墨蓝 2022-06-01 10:29 72阅读 0赞 /* 一般情况下的思路是先循环出这个整数的位数,然后,再循环这个整数 依次从个位开始,乘以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"); }
还没有评论,来说两句吧...