PAT乙级 1024 科学计数法
一.题目描述
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][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 科学计数法相关推荐
- PAT乙级 1024. 科学计数法 (C语言)
1024. 科学计数法 (20) 题目: 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即 ...
- PAT乙级 1024 科学计数法 python
题目 1024 科学计数法 分数 20 作者 HOU, Qiming 单位 浙江大学 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[± ...
- PAT乙级(1024 科学计数法)
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指 ...
- PAT乙级 1024 科学计数法 (20 分)
题目内容 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该 ...
- PAT乙级-1024 科学计数法- C语言实现(31行AC)
考察知识点归纳: 根据题目要求输出 坑点归纳: 1.若小数部分长度等于指数值时不用在末尾加'.' 2.虽然题目说指数可能为0,实际给出指数都不为0 #include<stdio.h> in ...
- C++学习之路 | PTA乙级—— 1024 科学计数法 (20 分)(精简)
1024 科学计数法 (20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数 ...
- 科学技术法c语言字符串,PAT Basic 1024. 科学计数法 (20)(C语言实现)
我的PAT系列文章更新重心已移至Github,欢迎来看PAT题解的小伙伴请到Github Pages浏览最新内容.此处文章目前已更新至与Github Pages同步.欢迎star我的repo. 题目 ...
- PAT乙级 C语言 1024 科学计数法
注意点:俺没有注意到个位数是1位--且可以用"%[^E]E%d"输入,要不可以省一堆压根没用的东西--但我懒得改了 我觉得这个写的很好PAT乙级1024. 科学计数法(C语言)_对 ...
- PAT 1024 科学计数法 (20分) C语言实现
1024 科学计数法 (20分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部 ...
最新文章
- 存储时间:从Symmetrix V-Max看高端存储的未来
- 题目1024:畅通工程
- struts文件上传,获取文件名和文件类型
- RocketMQ原理解析-producer 4.发送分布式事物消息
- 【广东省】2020年下软考证书领取通知
- 如何验证本地磁盘或网络磁盘是否可以进行读写操作
- java隐藏密钥_java – 在Android中隐藏密钥库密码的最佳方法是什么?
- Django 页面报错 Maximum recursion depth exceeded
- 递归算法思路以及题目总结(未完待续...)
- vue滚动条禁止_vue.js中实现禁止浏览器滚动方法
- stringWithUTF8String return null (返回null)的解决办法
- Zookeeper Client简介
- Maven常用命令汇总
- python共享单车数据分析_共享单车数据分析 -- python
- 数据结构:顺序表的就地逆置
- ArcGIS Pro硬件要求
- 阿里数据中台:组合式or颠覆式创新,企业要不要跟风
- 俞敏洪的屌丝逆袭 大学考了三次进北大
- 《世界上最远的距离》(泰戈尔)
- 常见文件的加密工具类