题目
输入一个不小于100且小于1000,同时包括小数点后一位的一个浮点数,例如123.4,要求把这个数字翻转过来,变成4.321并输出。
输入输出样例
输入
123.4
输出
4.321
代码
这个题目是练习字符串的一个好题目,可以把它的整体看作一个字符串处理,也可以按照数字处理。
第一种思路提供按照数字处理的一种思路。
#include<iostream>
using namespace std;
int main(){
double a;
int b;
cin>>a;
b=a*10;
int k=0;
while(b){//不用处理前导0的处理数字反转的好方式
k=k*10+b%10;
b/=10;
}
int m=k;
m=m/1000;
k=k%1000;
cout<<m<<"."<<k<<endl;
return 0;
}
第二种思路是按照字符串处理的方式,将字符串反转。
#include<bits/stdc++.h>
using namespace std;
string a;
int main()
{
cin>>a;
for(int i=a.size()-1;i>=0;i--)cout<<a[i];//字符串反转
return 0;
}
第三种思路也是按照字符串反转处理,不过可以使用STL库的反转操作进行处理。
#include<bits/stdc++.h> //文件头
using namespace std;
string a; //定义字符串
int main()
{
cin>>a; //输入
reverse(a.begin(),a.end()); //反转
cout<<a; //输出
return 0;
}