题目链接:
本题考查字符串处理,因此我的输入输出均按照字符串来处理。
解题思路:首先用一个变量存储该数的正负。定义三个整型变量integer,dec和exp分别存储该数的整数部分,小数部分和指数部分。
这样分开处理的好处时统一处理数据的类型,不用考虑小数点。其它的按照题目要求编写即可。注意最后输出的字符串前面要加上数
的正负号。
1 #include2 using namespace std; 3 4 int string_to_int(string str) 5 { 6 stringstream ss; 7 int ans; 8 ss< >ans;10 return ans;11 }12 13 int main()14 {15 string s;16 cin>>s;17 string integer,dec,str,sign;18 int exp;19 sign=s[0];20 integer=s.substr(1,1); //截取整数 21 dec=s.substr(3,s.find("E")-3); //截取小数 22 str=s.substr(s.find("E")+1);23 exp=string_to_int(str); //截取指数并转化为int 24 if(exp<0)25 {26 for(;exp!=0;exp++)27 integer.insert(0,"0");28 integer.insert(1,".");29 }30 else31 {32 if(exp