一.题目描述

科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。

现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。

输入格式:

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

输出格式:

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

二.代码

#include<bits/stdc++.h>
using namespace std;
int main()
{char ch;int i=0,num,dec=0,flag=0,j;cin>>ch;if(ch=='-')cout<<"-";char a[100000];do{cin>>a[i];if(a[i]=='.')flag=1;if(flag==1)dec++;i++;} while(a[i-1]!='E');dec-=2;cin>>num;//小数点右移的情况if(num>0){//指数部分>=小数部分if(num>=dec){j=num-dec;i=0;while(a[i]!='E'){if(a[i]!='.')cout<<a[i];i++;}while(j--)cout<<'0';}//指数部分<小数部分else{i=0,flag=0;while(a[i]!='E'){if(a[i]!='.')cout<<a[i];if(flag==1)j++;if(i==num+1){cout<<'.';flag=0;}i++;}}}//小数点左移的情况else if(num<0){num=-num;i=0,flag=0;while(num--){cout<<'0';if(flag==0){cout<<'.';flag=1;}}while(a[i]!='E'){if(a[i]!='.')cout<<a[i];i++;}}else{i=0;while(a[i]!='E'){cout<<a[i];i++;}}
}

PAT乙级 1024 科学计数法相关推荐

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

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

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

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

  3. PAT乙级(1024 科学计数法)

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

  4. PAT乙级 1024 科学计数法 (20 分)

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

  5. PAT乙级-1024 科学计数法- C语言实现(31行AC)

    考察知识点归纳: 根据题目要求输出 坑点归纳: 1.若小数部分长度等于指数值时不用在末尾加'.' 2.虽然题目说指数可能为0,实际给出指数都不为0 #include<stdio.h> in ...

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

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

  7. 科学技术法c语言字符串,PAT Basic 1024. 科学计数法 (20)(C语言实现)

    我的PAT系列文章更新重心已移至Github,欢迎来看PAT题解的小伙伴请到Github Pages浏览最新内容.此处文章目前已更新至与Github Pages同步.欢迎star我的repo. 题目 ...

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

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

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

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

最新文章

  1. 存储时间:从Symmetrix V-Max看高端存储的未来
  2. 题目1024:畅通工程
  3. struts文件上传,获取文件名和文件类型
  4. RocketMQ原理解析-producer 4.发送分布式事物消息
  5. 【广东省】2020年下软考证书领取通知
  6. 如何验证本地磁盘或网络磁盘是否可以进行读写操作
  7. java隐藏密钥_java – 在Android中隐藏密钥库密码的最佳方法是什么?
  8. Django 页面报错 Maximum recursion depth exceeded
  9. 递归算法思路以及题目总结(未完待续...)
  10. vue滚动条禁止_vue.js中实现禁止浏览器滚动方法
  11. stringWithUTF8String return null (返回null)的解决办法
  12. Zookeeper Client简介
  13. Maven常用命令汇总
  14. python共享单车数据分析_共享单车数据分析 -- python
  15. 数据结构:顺序表的就地逆置
  16. ArcGIS Pro硬件要求
  17. 阿里数据中台:组合式or颠覆式创新,企业要不要跟风
  18. 俞敏洪的屌丝逆袭 大学考了三次进北大
  19. 《世界上最远的距离》(泰戈尔)
  20. 常见文件的加密工具类

热门文章

  1. 迎接“万物互联”时代:当5G遇上智能终端、物联网
  2. 莫尔斯电码对照表_使用莫尔斯电码编码纯文本
  3. 如何修改MFC主窗口的大小
  4. jsbridge实现及原理_jsBridge原理解析
  5. 身份证号码工具类(15位,18位,10位)
  6. ARFoundation系列讲解 - 78 AR室内导航三
  7. 【Golang】聊聊我为什么决定以Go作为第二开发语言
  8. C语言学习-翁凯(第六章笔记)
  9. 19岁程序员在谷歌学到的5条经验教训
  10. 计算机答辩答不上来怎么回答,答辩答不上来怎么圆场