分析:
首先假如我们输入321,我们想得到123。假设这个数字代表的变量为a。
对于321中的百位3,我们可以直接a/100,即可得到逆序的个位数3,将3存入变量b。(a/100得到的结果是32,在c语言中,a/100可以省略除完100后的数字的小数点后面的数字。)
对于321中的十位2,我们可以先a/10-a/100*10得到十位的数字2,由于要逆序所以这个数字需要乘以10,我们将乘以10以后的数字20存入变量c。
对于321中的个位1,我们可以利用c语言中的取余(%),即a%10,得到的就是原先数字的个位数字1了,由于需要逆序,所以我们要乘以100,将乘以100后的数字100存入变量d。
在源代码中加入了选择条件,以防输入不符合规范的数字使结果错误并且删除了上文所述的c,d变量,将求逆序整数的过程和为一步。
#include "stdio.h"
int main()
{
int a,b;
printf("请输入一个三位数:");
fflush(stdout);
scanf("%d",&a);
if(a>=100&&a<=999)
{
b = a / 100 + 10 * (a / 10 - a / 100 * 10) + a % 10 * 100;
printf("逆序的数为%d", b);
}
else
printf("请重新输入一个三位数!");
return 0;
}