题目链接
P5705 【深基2.例7】数字反转 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
题目描述
输入一个不小于 100100 且小于 10001000,同时包括小数点后一位的一个浮点数,例如 123.4123.4 ,要求把这个数字翻转过来,变成 4.3214.321 并输出。
输入格式
一行一个浮点数
输出格式
一行一个浮点数
输入输出样例
输入 #1
123.4
输出 #1
4.321
参考代码
#include <stdio.h>
#include <iostream>
#include <math.h>
#include <algorithm>
#include <string.h>
#include <string>
using namespace std;
/*方法一:采用float类型*/
int main()
{
float a,b=0;
scanf("%f",&a);
int c=a*10;
while (c)
{
b=b*10 + c%10; //将数字反转
c=c/10;
}
printf("%.3f", b/1000);
return 0;
}
/*方法二:采用string类型*/
int main()
{
string a;
cin>>a;
reverse(a.begin(),a.end()); //采用了reverse()函数
cout<<a;
return 0;
}
/*方法三:采用char类型*/
int main()
{
char a,b,c,d,e;
scanf("%c%c%c%c%c",&a,&b,&c,&d,&e);
printf("%c%c%c%c%c",e,d,c,b,a);
return 0;
}
/*方法四:采用字符数组*/
int main()
{
char a[10];
scanf("%s",a); //cin>>a;
int m=strlen(a); //strlen()在头文件<string.h>中声明
reverse(a,a+m);
printf("%s",a);
return 0;
}
相关知识
reverse()函数