洛谷P5705 【深基2.例7】数字反转 题解
感想:我才一年没动代码啊,啥都忘记了啊,淦!
最简单的字符串输入输出也忘了,从头开始刷吧。
题目来源于洛谷,在这里把几种解题思路和代码汇总一下。
法一:字符串输入输出并反转
1.已知数字位数
#include <bits/stdc++.h>//万能头
using namespace std;
int main(){
char a,b,c,d;//定义略
scanf("%c%c%c.%c",&a,&b,&c,&d);
printf("%c.%c%c%c",d,c,b,a);
return 0;
}
2.假设不知道数字位数,用string
#include<bits/stdc++.h>万能头文件
using namespace std;
string a;
signed main()
{
cin>>a;
int len=a.size();读取长度
for(int i=len-1;i>=0;i--)反转
cout<<a[i];
return 0;
}
3.STL大法好!
字符串的反转操作我们可以用STL也可以直接倒序输出。
介绍一下STL里面的反转字符串函数reverse()
其格式是:
reverse(数组名.begin(),数组名.end());
#include<bits/stdc++.h> //文件头
using namespace std;
string a; //定义字符串
int main()
{
cin>>a; //输入
reverse(a.begin(),a.end()); //反转
cout<<a; //输出
return 0;
}
还有一个纯数字处理的方法,我懒,就不贴出了。
此外,在用cin,cout处理字符数组a[]的时候,发现必须要有using namespace std;否则会报错,要不就要用std::cin,切记,切记。