P5705 【深基2.例7】数字反转题解

题目

输入一个不小于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;           
}
  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

互联网的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值