1073 Scientific Notation (20 分)【难度: 一般 / 知识点: 字符串 模拟】
https://pintia.cn/problem-sets/994805342720868352/problems/994805395707510784
#include<bits/stdc++.h>
using namespace std;
int main(void)
{string s; cin>>s;if(s[0]=='-') cout<<"-";s=s.substr(1);if(s.find('-')!=-1)//左移{string ans;for(int i=0;i<s.size();i++){if(s[i]>='0'&&s[i]<='9') ans+=s[i];if(s[i]=='E') break;}int len=stoi(s.substr(s.find('-')+1));if(len==0){for(int i=0;i<s.size();i++){if(s[i]=='E') break;cout<<s[i];}}else{cout<<"0.";for(int i=1;i<=len-1;i++) cout<<"0";cout<<ans;}}else//右移{int len=stoi(s.substr(s.find('+')+1));//移动几位 string ans;//存一下有效的数字 for(int i=0;i<s.size();i++){if(s[i]>='0'&&s[i]<='9') ans+=s[i];if(s[i]=='E') break;}string ss; ss+=ans[0];for(int i=1;i<ans.size();i++){len--,ss+=ans[i];if(len==0&&i+1!=ans.size())//如果后面还有数{ss+='.';ss+=ans.substr(i+1);break;}}while(len) ss+="0",len--;while(ss[0]=='0'&&ss.size()>1) ss=ss.substr(1);cout<<ss;}return 0;
}
1073 Scientific Notation (20 分)【难度: 一般 / 知识点: 字符串 模拟】相关推荐
- 【PAT甲级 BigDecimal科学计数法转换普通数字】1073 Scientific Notation (20 分) Java开挂解法 全部AC
题目 分类讨论的话,挺复杂的一道题,要分离整数部分和指数部分,还要计算小数点的位置等等. 用Java做这类题简直开挂. 我的测试用例 +1.23400E-22 答案:0.000000000000000 ...
- PAT甲级1073 Scientific Notation:[C++题解]字符串处理、科学计数法
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:字符串处理. 思路: 把底数部分抠出来(用a表示);指数部分变成int型(用b表示)(指数部分代表小数点往哪移动,并且移动几位),比如 ...
- 1073 Scientific Notation
笔记:这是我迄今为止写过的最复杂的字符串处理算法题. 收获:分而治之,想不清楚就自己设计测试用例和结果.列举然后归类. 以下是程序流程图 #include<cstdio> #include ...
- 1150 Travelling Salesman Problem (25 分)【难度: 难 / 知识点: 图 模拟 未完成】
https://pintia.cn/problem-sets/994805342720868352/problems/1038430013544464384
- 1147 Heaps (30 分)【难度: 一般 / 知识点: 堆 模拟 】
https://pintia.cn/problem-sets/994805342720868352/problems/994805342821531648 直接按照堆模拟即可,如果对于每一个根来说,它 ...
- 1014 Waiting in Line (30 分) 【未完成】【难度: 难 / 知识点: 大模拟】
https://pintia.cn/problem-sets/994805342720868352/problems/994805498207911936 大模拟代码有时间补
- C++学习之路 | PTA乙级—— 1093 字符串A+B (20 分)(精简)
1093 字符串A+B (20 分) 给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集.要求先输出 A,再输出 B,但重复的字符必须被剔除. 输入格式: 输入在两行中分别给出 A ...
- 7-121 删除字符串中的子串 (20 分)
7-121 删除字符串中的子串 (20 分) 输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2. 输入格式: 输入在2行中分别给出不超过80个字符长度的.以 ...
- 7-1 删除字符串中的子串 (20分)
7-1 删除字符串中的子串 (20分) 输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2. 输入格式: 输入在2行中分别给出不超过80个字符长度的.以回车结 ...
最新文章
- 避免单线程单元 (STA) COM 组件
- 关于ProGuard的学习了解(从别处转来)
- Matlab数据的可视化 -- 简易线性函数图
- iOS友盟推送发送失败
- led显示屏控制卡接线图解_Led显示屏出现花屏是什么原因
- php没有上级分类的联动,ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单...
- linux网卡pci信息,在进行CGKlinux系统网络配置时,使用()命令可以查询出网卡的PCI编号与设备名的对应关系。...
- 解决ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接
- ​​​​​​​​CloudMounter:挂载云存储作为在 Mac 的本地磁盘
- 反插值法求函数方程的根(内附代码及例题)
- Linux 下mysql修改数据库存放目录方法和可能遇到的问题
- 计算机组成原理期末复习整理 白中英版本
- 系统集成项目管理案例答题技巧
- 业务层——跨越边界传输数据
- 软考中级网络工程师证书如何查询?
- 怎么做名片二维码?个人二维码名片在线制作方法
- Amazon DynamoDB应用—为table指定Provisioned Throughput
- 题解 - CF613D Kingdom and its Cities
- 阿里云盘迎来了第三方客户端小白羊版
- ffmpeg 实现 视频与gif互转