反向输出一个三位数(要保留前导 0)
两种思路:
思路一
分别输出三个数字,即将原来的“abc”以“c”“b”“a”的顺序输出。
c位:这是原数的个位,将原数除以10得到的商即为c的数值。
b位:这是原数的十位,将原数除以100得到的商即为由bc组成的二位数的数值。此时再将这个值除以10得到的余数即为b的数值。
a位:这是原数的百位,将原数除以100得到的余数即为a的数值。
(这种思路不用过多的考虑保留前导0的约束。)
思路二
只输出一个数字,即将“abc”以“cba”的样式输出。
我想到的这个思路只是在思路一的基础上多加几部,比思路一繁琐一些。有更好的想法欢迎大家和我一起讨论。
在思路一的基础上,要得到的数值=c100+b10+a
(此时需要考虑到前导0的问题)
代码展示
思路一代码
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int s_1;
s_1=n%10;
int s_2;
s_2=n/10%10;
int s_3;
s_3=n/100;
cout<<s_1<<s_2<<s_3;
return 0;
}
思路二代码
#include<iostream>
#include <iomanip>
using namespace std;
int main()
{
int n;
cin>>n;
int s_1;
s_1=n%10;
int s_2;
s_2=n/10%10;
int s_3;
s_3=n/100;
int answer;
answer=s_1*100+s_2*10+s_3;
cout.setf(ios::right); //设置对齐方式为右对齐
cout.fill('0'); //设置填充方式,不足位补0
cout.width(3); //设置宽度为2,只对下条输出有用
cout<<answer;
return 0;
}
本文介绍了两种反向输出三位数的方法,一种是分别输出每一位数字,另一种是将整个数字反向输出,同时讨论了如何处理前导0的问题。通过示例代码展示了每种方法的具体实现。
&spm=1001.2101.3001.5002&articleId=86927284&d=1&t=3&u=ca31d02cf5fc4412beb688ad89c79cc5)
636

被折叠的 条评论
为什么被折叠?



