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
#include<stdio.h>
#include<string.h>
int GetExp(char s[],int n);
int main(){char isign,esign;int integer,e;char decpart[10000],expart[40];scanf("%c%d.%[0-9]E%c%s",&isign,&integer,decpart,&esign,expart);if(isign=='-')printf("-");int exp=GetExp(expart,strlen(expart));//printf("<exp = %d>",exp);if(exp==0){printf("%d.%s",integer,decpart);}else{if(esign=='+'){printf("%d",integer);if(strlen(decpart)>exp){int i=0;while(exp!=0){printf("%c",decpart[i++]);exp--;}printf(".");while(i<strlen(decpart)){printf("%c",decpart[i++]);}}else{printf("%s",decpart);while((exp-strlen(decpart))>0){printf("0");exp--;}}}else {printf("0.");exp--;while(exp>0){printf("0");exp--;}printf("%d%s",integer,decpart);}}
}
int GetExp(char s[],int n){int i,m=0;for(i=0;i<n;i++){m=m*10+s[i]-'0';}return m;
}
转载于:https://www.cnblogs.com/xLester/p/7570515.html
1024. 科学计数法 (20)相关推荐
- C++学习之路 | PTA乙级—— 1024 科学计数法 (20 分)(精简)
1024 科学计数法 (20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数 ...
- 1024 科学计数法 (20)(20 分)
1024 科学计数法 (20)(20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+, ...
- PAT 1024 科学计数法 (20分) C语言实现
1024 科学计数法 (20分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部 ...
- 【PAT (Basic Level) 】1024 科学计数法 (20 分)
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部 ...
- 1024 科学计数法 (20 分)(c语言)
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指 ...
- 测试点错的来:1024 科学计数法 (20分)
立志用更少的代码做更高效的表达 PAT乙级最优题解-->传送门 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+, ...
- 1024. 科学计数法 (20)-PAT乙级真题
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位 ...
- 1024 科学计数法 (20分) c/c++代码中有详细解释
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部 ...
- 科学技术法c语言字符串,PAT Basic 1024. 科学计数法 (20)(C语言实现)
我的PAT系列文章更新重心已移至Github,欢迎来看PAT题解的小伙伴请到Github Pages浏览最新内容.此处文章目前已更新至与Github Pages同步.欢迎star我的repo. 题目 ...
最新文章
- 中山大学计算机学院运动会,中山大学2019年运动会.PDF
- Thrift在windows下的使用
- 启明云端分享|直接用ESP32-S2和ESP32-C3驱动1.54寸串口屏,有哪些区别呢,他们的亮点又有哪些呢
- Flutter升级到1.12填坑指南
- 截取屏幕,并保存图片到本地(画廊)
- spring 注释_Spring@懒惰注释
- 使用SQLite数据库存储数据(2)-向表中插入记录
- js 多个input值拼接json字符串
- 在java中蓝色_Java基础
- dede后台文章不能上传图片及缩略图的解决办法
- 博客平台、Markdown编辑器与hexo admin简介
- 设计模式 - 模板方法设计模式
- 翻译PDG官方教程:一个最简单的特效PDG流程(步骤详细)
- STC15系列单片机-I/O口小结
- iMX8MP方案推荐|一款适用于心电监护仪的嵌入式核心板
- 从软件测试培训班出来之后找工作的经历,教会了我这五件事...
- Gateway一直访问本地
- 计算机毕业设计ssm高校学报管理系统lt10k系统+程序+源码+lw+远程部署
- 1.1.1.1校园网_高一数学上册必修1第一章知识点:1.1.1集合的含义与表示
- 记录一次Java对接监控(大华、海康、onvif)