C++ PTA 科学计数法的值

编程入门 行业动态 更新时间:2024-10-17 15:21:21

C++ PTA <a href=https://www.elefans.com/category/jswz/34/1771194.html style=科学计数法的值"/>

C++ PTA 科学计数法的值

科学计数法的值

科学计数法是一种数学专用术语。将一个数表示成 a×10的n次幂的形式,其中1≤|a|<10,n为整数,这种记数方法叫科学计数法。例如920000可以表示为9.2*10^5

现在需要对输入的字符串进行分离,自动识别该科学计数法中的a和幂次,计算其表征的具体数值并输出该值。

例如,对于输入的复数字符串“9.210^5”,输出 The actual value for 9.210^5 is 920000

注意:

1、每组测试数据仅包括一个用于科学计数法的字符串。

2、输入字符串保证合法。

3、字符串长度不超过1000

4、幂次不超过200

输入示例:

9.2*10^5

输出示例:

The actual value for 9.2*10^5 is 920000

分析

#include<iostream>
#include<string>
using namespace std;int main(){string s,x1,x2;char flag;cin>>s;cout<<"The actual value for "<<s<<" is ";if(s[0]=='-'){cout<<"-";x1=s[1]; flag=s[2];x2=s.substr(s.find(".")+1,s.find("*")-3);}else{x1=s[0];flag=s[1];x2=s.substr(s.find(".")+1,s.find("*")-2);}//cout<<" x1= ";cout<<x1;string z=s.substr(s.find("^")+1);if(flag=='.'){                          //有小数点//cout<<" xx2= ";//cout<<x2;//cout<<" xx22= ";int count=stoi(z)-x2.length();if(count>=0){//cout<<" x2= ";cout<<x2;for(int i=0;i<count;i++){//cout<<" x0= ";cout<<"0";}}    else{//cout<<" x22= ";cout<<x2.substr(0,stoi(z))<<"."<<x2.substr(stoi(z));}}else{                             //无小数点int count=stoi(z);for(int i=0;i<count;i++){//cout<<" x0= ";cout<<"0";}}return 0;
}

参考资料:

  • PTA 1024 科学计数法(c/c++)
  • PTA 科学计数法 (20分)
  • C++中substr()函数用法详解
  • #include下的str.find()函数
  • C++ 中 String 与 int 类型互相转换的方式
  • C++将string转为int
  • stoi()函数的使用
  • Dev-c++下’stoi’ was not declared in this scope解决办法

更多推荐

C++ PTA 科学计数法的值

本文发布于:2024-03-23 22:57:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1743838.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:科学   PTA

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!