首页 > 其他 > 详细

PAT字符串处理题---1024 科学计数法 (20分)

时间:2020-06-10 11:09:57      阅读:50      评论:0      收藏:0      [点我收藏+]

1024 科学计数法 (20分)

  • substr():substr(起始位置,往后要几个字符)
  • stoi():string转换为int,参数必须是字符串,字符的话用substr(ch,1)转换为字符串
    常用字符串处理函数:
参数是字符即可
isalpha();//是否为字母
isdigit();//是否为数字
isupper();//是否为大写字母
islower();//是否为小写字母
#include<iostream>
#include<ctype.h>
#include<algorithm>
#include<sstream>
#include<string>
#include<cstdio>


using namespace std;

int main() {
	string s;
	cin>>s;
	if(s[0]==‘-‘) cout<<‘-‘;
	string s1=s.substr(s.find(‘.‘)+1,s.find(‘E‘)-s.find(‘.‘)-1);
	string s2=s.substr(s.find(‘E‘)+1,s.length()-s.find(‘E‘));
	if(s2[0]==‘-‘) {
		int num=stoi(s2);
		int n=stoi(s.substr(1,1));
		num=-num;
		if(num){
			cout<<"0.";
		for(int i=1; i<=num-1; i++) {
			cout<<"0";
		}
		cout<<n<<s1;
		}else{
			cout<<n<<"."<<s1;
		}
	} else {
		int num=stoi(s2);
		int n=stoi(s.substr(1,1));
		if(s1.length()<=num){
			cout<<n<<s1;
			for(int i=1;i<=num-s1.length();i++){
				cout<<"0";
			}
		}else{
			if(num){
				cout<<n;
			for(int i=0;i<=num-1;i++){
				cout<<s1[i];
			}
			cout<<".";
			for(int i=num;i<s1.length();i++){
				cout<<s1[i];
			}
			}else{
				cout<<n<<"."<<s1;
			}
		}
	}
	return 0;
}

PAT字符串处理题---1024 科学计数法 (20分)

原文:https://www.cnblogs.com/bingers/p/13083753.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!