#include <iostream>
using namespace std;
int main(){string s, s1, s2, s3, ans; cin >> s;                                           // 将字符串拆成三段s1 = s.substr(0, 2);                                // 小数点前s2 = s.substr(3, s.find('E')-3);                    // 小数点后s3 = s.substr(s.find('E')+1);                      // 指数if(stoi(s1) == 0 && stoi(s2) == 0){                 // +0.0E-100 这个题没有对 0 的测试点。cout << 0; return 0;}if(stoi(s3) > 0){                                   // 指数大于0的情况if(stoi(s3) > s2.length()){                     // 指数大于小数点后有效位数,需要加 0s2.insert(s2.end(), stoi(s3) - s2.length(), '0');}else if(stoi(s3) < s2.length()){               // 指数小于小数点后有效位数,需要加小数点s2.insert(stoi(s3), 1, '.');                }if(stoi(s1) == 0) s1 = s1[0];                   // 特殊情况,首位为0需要去掉0,只保留正负。}else if(stoi(s3) < 0){                             // 指数为负的情况s1.insert(1, abs(stoi(s3)), '0');               // 在s1前插入0s1.insert(2, 1, '.');                           // 在第二位插入小数点}else s2.insert(0, 1 ,'.');                         // 指数为0的情况,把小数点还给原数 ans = s1 + s2;                                      // 指数等于小数后有效位数,也等于 s1 + s2if(ans[0] == '+') cout << ans.substr(1);            // 不用输出正号else cout << ans;return 0;
}

C语言程序设计-1024 科学计数法相关推荐

  1. PAT乙级 C语言 1024 科学计数法

    注意点:俺没有注意到个位数是1位--且可以用"%[^E]E%d"输入,要不可以省一堆压根没用的东西--但我懒得改了 我觉得这个写的很好PAT乙级1024. 科学计数法(C语言)_对 ...

  2. PAT乙级 1024. 科学计数法 (C语言)

    1024. 科学计数法 (20) 题目: 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即 ...

  3. PTA 1024 科学计数法 (c语言)

    1024 科学计数法 (20 分) 代码如下 #include<string.h> int main(void) {char head,a[10001]= {0};int ex=0;sca ...

  4. PAT 1024 科学计数法 (20分) C语言实现

    1024 科学计数法 (20分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部 ...

  5. C++学习之路 | PTA乙级—— 1024 科学计数法 (20 分)(精简)

    1024 科学计数法 (20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数 ...

  6. C语言答案写成科学记数法,c语言科学记数法_C语言中、科学计数法123456e+002具体代表什么意思、或者说怎么理解这个数_淘题吧...

    『壹』 c语言用double写了一个表示科学计数法的程序,但是却读不出来30位以上的数,怎么办 double 是抄64 位(8字节),52 位代表有袭效数位,11 位表示指数,一位表示符号,精度(有效 ...

  7. 1024 科学计数法——C/C++实现

    题目 1024 科学计数法 (20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 ...

  8. PAT乙级 1024 科学计数法 python

    题目 1024 科学计数法 分数 20 作者 HOU, Qiming 单位 浙江大学 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[± ...

  9. 1024 科学计数法 (20)(20 分)

    1024 科学计数法 (20)(20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+, ...

最新文章

  1. intelliJ idea如何安装、配置
  2. 万事俱备只缺你,6月亚洲消费电子展不见不散
  3. 福利满满 | 天元MegEngine贡献者计划全面启动!
  4. 经典C语言程序100例之八
  5. 你会用while(1)还是for(;;)写循环代码?
  6. Java多维数组定义以及常见异常
  7. 吉林大学超星学习通高级语言程序设计(C语言)(22秋季)作业实验00
  8. css中pt单位,css中字体单位px,pt,em,百分比之间的区别和用法
  9. HBuilder制作表格式的简历
  10. 假币问题python
  11. 冬令时 java_java-时间处理夏令时冬令时跨时区问题处理
  12. 支付宝对账单和微信对账单下载保存数据库
  13. 粒子群优化算法实现寻找函数最值
  14. Codeforces gym 2013-2014 Samara SAU ACM ICPC Quarterfinal Qualification Contest
  15. go每日新闻(2021-12-01)——Go 1.18新特性前瞻:原生支持Fuzzing测试
  16. 洛谷 P2708 硬币翻转
  17. Ubuntu 14.04 安装 USB无线网卡驱动
  18. 国内邮箱免费邮箱注册哪个好?
  19. php session域,tp5 Session作用域问题
  20. 亚马逊德国站卖家:提醒您税务及包装法合规事项!

热门文章

  1. 2023最新红盟云卡开源发卡网站源码+功能很强大
  2. 阿里云备案要几天时间?
  3. Python:二叉树遍历
  4. C# 微信扫码授权登录
  5. EPS在倾斜摄影“房地一体”项目中的应用及操作简介
  6. [ITIL]-ITIL4服务管理的四个维度
  7. 定义自定义字体需要css的什么规则,css3自定义字体需要什么规则 css3基本选择器...
  8. Nginx常见错误代码总结和处理方案
  9. 判断是否为数组的函数: isArray()
  10. Huawei华为交换机基本配置命令