反向输出一个三位数2
描述
将一个三位数反向组成一个新数输出,例如输入358,反向输出853。
输入
一个三位数n。
输出
输出一个由n反向组成的新数。
输入样例 1
150
输出样例 1
51
这个题目和上次写的反向输出一个三位数是相似的,但是又不完全一样。
这一题输出答案时如果需要输出0,那0必须省略。例如输入150,输出就不能是051,只输出51。
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int a,b,ge,shi,bai; 6 int k,i; 7 char x; 8 cin>>a; 9 bai=a/100; 10 shi=a%100/10; 11 ge=a%100%10; 12 if(ge==0) 13 cout<<shi<<bai; 14 else 15 cout<<ge<<shi<<bai; 16 return 0; 17 }
这是博主第一次提交的代码,但没有通过。问题就在于这行代码只处理了个位是0的情况,其他的位数没有考虑到。
如果继续按这个方法,把剩下的两个位数照写上去的化又太复杂了。
于是博主的编程老师教了一个方法,如下。
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int a,shi,bai,ge; 6 cin>>a; 7 bai=a/100; 8 shi=a%100/10; 9 ge=a%10; 10 a=ge*100+shi*10+bai; 11 cout<<a; 12 return 0; 13 }
不仅代码缩短,程序中的不足也得到了改正。
这样写就可以优化代码。