1024 科学计数法 (20分)
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。
现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。
输入格式:

每个输入包含 1 个测试用例,即一个以科学计数法表示的实数 A。该数字的存储长度不超过 9999 字节,且其指数的绝对值不超过 9999。
输出格式:

对每个测试用例,在一行中按普通数字表示法输出 A,并保证所有有效位都被保留,包括末尾的 0。
输入样例 1:

+1.23400E-03
输出样例 1:

0.00123400
输入样例 2:

-1.2E+10
输出样例 2:

-12000000000

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{string str, str_new;cin >> str;int x = str.find('E');//查找E所在位置int sum = atoi((str.substr(x + 1)).c_str());//将E之后字符转换为数字for (int i = 0; i < x; i++)//将E之前的字符存到新的数组{if (str[i] == '.' || str[i] == '+' || str[i] == '-')continue;str_new.push_back(str[i]);}if (sum > 0)//如果大于0{if (sum < str_new.size() - 1)//如果小于前面数字的长度,只需要插入点str_new.insert(sum + 1, 1, '.');else if (sum > (str_new.size() - 1))//如果大于,需要补零{int y = sum - (str_new.size() - 1);for (int i = 0; i < y; i++){str_new.push_back('0');}}}else//小于零情况{for (int i = 0; i < abs(sum); i++)//在前面补零{str_new.insert(0, 1, '0');}str_new.insert(1, 1, '.');//插入点}if (str[0] == '-')//负数需要插入-号{str_new.insert(0, 1, '-');}cout << str_new;
}

C++学习之路 | PTA乙级—— 1020 月饼 (25分)(带注释)(精简)相关推荐

  1. C++学习之路 | PTA乙级—— 1020 月饼 (25分)(精简)

    1020 月饼 (25分) 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是多少. 注意: ...

  2. C++学习之路 | PTA乙级—— 1055 集体照 (25 分)(精简)

    1055 集体照 (25 分) 拍集体照时队形很重要,这里对给定的 N 个人 K 排的队形设计排队规则如下: 每排人数为 N/K(向下取整),多出来的人全部站在最后一排: 后排所有人的个子都不比前排任 ...

  3. C++学习之路 | PTA乙级—— 1045 快速排序 (25 分)(精简)

    1045 快速排序 (25 分) 著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边. 给定划分后的 ...

  4. C++学习之路 | PTA乙级—— 1089 狼人杀-简单版(精简)

    1089 狼人杀-简单版 (20 分)以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人杀"游戏中,1 号玩家 ...

  5. C++学习之路 | PTA乙级—— 1071 小赌怡情 (15 分)(精简)

    1071 小赌怡情 (15 分) 常言道"小赌怡情".这是一个很简单的小游戏:首先由计算机给出第一个整数:然后玩家下注赌第二个整数将会比第一个数大还是小:玩家下注 t 个筹码后,计 ...

  6. C++学习之路 | PTA乙级—— 1064 朋友数 (20 分)(精简)

    1064 朋友数 (20 分) 如果两个整数各位数字的和是一样的,则被称为是"朋友数",而那个公共的和就是它们的"朋友证号".例如 123 和 51 就是朋友数 ...

  7. C++学习之路 | PTA乙级—— 1062 最简分数 (20 分)(精简)

    1062 最简分数 (20 分) 一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0.最简分数是指分子和分母没有公约数的分数表示形式. 现给定两个不相等的正分数 N ​1 ​​ /M ​1 ...

  8. C++学习之路 | PTA乙级—— 1058 选择题 (20 分)(精简)

    1058 选择题 (20 分) 批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多. 输入格式: 输入在第一行给出两个正整数 N(≤ 1000)和 M(≤ 10 ...

  9. C++学习之路 | PTA乙级—— 1051 复数乘法 (15 分)(精简)

    1051 复数乘法 (15 分) 复数可以写成 (A+Bi) 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 i ​2 ​​ =−1:也可以写成极坐标下的指数形式 (R×e ​(Pi) ...

最新文章

  1. Oracle 表的访问方式(2)-----索引扫描
  2. 神器np.unique、np.argsort
  3. vue富文本编辑,编辑自动预览,单个图片上传不能预览的问题解决:
  4. [Leedcode][JAVA][第466题][统计重复个数][数组]
  5. Source code manager common
  6. csv 20位数据 如何打开可以预览完整数字_条码打印软件如何批量制作MSI Plessey码...
  7. 力软敏捷开发框架源码7.0.6解析
  8. [Python从零到壹] 十七.可视化分析之Matplotlib、Pandas、Echarts入门万字详解
  9. 今天遇到安装CAD2014提示已安装磁盘空间显示0字节,无法下一步,已解决.#CAD2014提示已安装磁盘空间显示0字节无法下一步
  10. Verilog HDL简介
  11. JavaScript打造很酷的图片放大效果实例代码
  12. 打开HFSS出现Unable to detect installed products的报错,要求make sure that config/admin.xml exists
  13. DoTween的使用与详解
  14. Cocos2dx 安装运行
  15. 敞开心扉,来聊聊跨域方式吧!
  16. 教你用PixiJs实现复杂动画
  17. 作为SAP顾问都应该知道的ABAP程序调试方法
  18. 探索国内地图厂商API,自定义Mendix 组件
  19. LPDDR4x 的 学习总结(2) - SDRAM array结构浅识
  20. SAP激活中文语言包

热门文章

  1. 安装paddlepaddle-GPU 报libcudnn.so和libcublas.so找不到的解决方案
  2. 【HTML/CSS】单位小结
  3. 【LeetCode】3月27日打卡-Day12
  4. [Swift]LeetCode853. 车队 | Car Fleet
  5. Catalan数总结
  6. 06006_redis数据存储类型——String
  7. MVC防止xss攻击 ——Html.AntiForgeryToken的AJAX提交
  8. 个人对响应式布局的理解
  9. C#中break,continue,return,,goto,throw的区别(转)
  10. CSS3实现图形曲线阴形和翘边阴影