zoukankan      html  css  js  c++  java
  • PAT字符串处理题---1024 科学计数法 (20分)

    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;
    }
    
    
  • 相关阅读:
    卡特兰数
    poj3461 字符串匹配 熟悉kmp算法第一题
    hdu1018
    poj 1088
    Linux / OS X 实用命令
    Mac/Linux 定时运行命令行
    在Mac安装Scheme
    如何判断无向图有环
    Prime算法生成最小生成树
    无向图的深度优先与广度优先搜索代码实现
  • 原文地址:https://www.cnblogs.com/bingers/p/13083753.html
Copyright © 2011-2022 走看看