例1-2 三位数反转
输入一个三位数,分离出它的百位,十位和个位,反转后输出。
样例输入:127
样例输出:721
【分析】首先将三位数读入变量n,然后进行分离。百位等于n/100(注意这里取得是商的整数部分),十位等于n/10%10(这里的%是取余操作),个位等于n%10.
1 #include<stdio.h> 2 int main() 3 { 4 int n; 5 scanf("%d,&n); 6 printf("%d%d%d\n",n%10,n/10%10,n/100); 7 return 0; 8 }
此题有一个没有说秦楚的细节,即:如果个位是0,反转后应该输出吗?例如输入的520,输出的是025还是25?
上面的程序输出025,但要改成输出25似乎会比较麻烦---我们必须判断n%10是不是0。
一个解决方法是在输出前把结果存储在变量m中。这样,直接用%d格式输出m,将输出25.要输出025,把输出格式变为%03d即可。
1 #include<stdio.h> 2 int main() 3 { 4 int n,m; 5 scanf("%d",&n); 6 m = (n%10)*100+(n/10%10)*10+(n/100); 7 printf("%03d\n",m); 8 return 0; 9 }

浙公网安备 33010602011771号