Loading

例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 }
View Code

 此题有一个没有说秦楚的细节,即:如果个位是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 }

 

posted @ 2018-02-20 14:54  RainDavi  阅读(158)  评论(0)    收藏  举报