【PAT】1073. Scientific Notation (20)【字符串处理】

2024-04-12 06:18

本文主要是介绍【PAT】1073. Scientific Notation (20)【字符串处理】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述

Scientific notation is the way that scientists easily handle very large numbers or very small numbers. The notation matches the regular expression [+-][1-9]”.”[0-9]+E[+-][0-9]+ which means that the integer portion has exactly one digit, there is at least one digit in the fractional portion, and the number and its exponent’s signs are always provided even when they are positive.

Now given a real number A in scientific notation, you are supposed to print A in the conventional notation while keeping all the significant figures.

翻译:科学计数法是一种让科学家可以很轻松的处理非常大的数字或非常小的数字的方法。其符号用正则表达式表示为[+-][1-9]”.”[0-9]+E[+-][0-9]+,即整数部分有且只有一位数字,小数部分至少有一位数字,并且它的数字和指数符号总是会提供即使它们为正数。
现在给你一个用科学计数法表示的实数A,你需要按照传统格式输出A并保留所有的有效数字。

IPNUT FORMAT

Each input file contains one test case. For each case, there is one line containing the real number A in scientific notation. The number is no more than 9999 bytes in length and the exponent’s absolute value is no more than 9999.

翻译:每个输入文件包含一组测试数据。对于每组输入数据,第一行包括一个用科学计数法表示的实数A。数字位数的长度不超过9999,并且指数的绝对值不超过9999。

OUTNUT FORMAT

For each test case, print in one line the input number A in the conventional notation, with all the significant figures kept, including trailing zeros,

翻译:对于每组测试数据,输出一行传统格式下的数字A,并保留所有的有效数字,包括尾部0。


Sample Input 1:

+1.23400E-03

Sample Output 1:

0.00123400


Sample Input 2:

1.2E+10

Sample Output 2:

12000000000


解题思路

这道题主要是字符串的处理,如果指数为负则添加前导0,为正数时判断输出位数是否达到指数,如果未达到在末尾输出0。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<string>
#include<algorithm>
#define INF 99999999
using namespace std;
char s[10010];
int main(){scanf("%s",s);int length=strlen(s);int flag=0,wei=0,symbol=0;for(int i=0;i<length;i++){if(i==0&&s[i]!='+')printf("-");if(flag&&s[i]=='-')symbol=1;if(flag&&s[i]>='0'&&s[i]<='9')wei=wei*10+s[i]-'0';if(s[i]=='E')flag=i;}if(symbol==1){printf("0.");for(int i=1;i<wei;i++)printf("0");for(int i=1;i<flag;i++){if(s[i]!='.')printf("%c",s[i]);}}else {int f=0;for(int i=1;i<flag;i++){if(i>wei+2&&!f)printf("."),f=1;if(s[i]!='.')printf("%c",s[i]);}if(wei)for(int i=0;i<wei-flag+3;i++){printf("0");}}printf("\n");return 0;
}

这篇关于【PAT】1073. Scientific Notation (20)【字符串处理】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/896331

相关文章

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

Python异常处理之避免try-except滥用的3个核心原则

《Python异常处理之避免try-except滥用的3个核心原则》在Python开发中,异常处理是保证程序健壮性的关键机制,本文结合真实案例与Python核心机制,提炼出避免异常滥用的三大原则,有需... 目录一、精准打击:只捕获可预见的异常类型1.1 通用异常捕获的陷阱1.2 精准捕获的实践方案1.3

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Python动态处理文件编码的完整指南

《Python动态处理文件编码的完整指南》在Python文件处理的高级应用中,我们经常会遇到需要动态处理文件编码的场景,本文将深入探讨Python中动态处理文件编码的技术,有需要的小伙伴可以了解下... 目录引言一、理解python的文件编码体系1.1 Python的IO层次结构1.2 编码问题的常见场景二

Java 字符串操作之contains 和 substring 方法最佳实践与常见问题

《Java字符串操作之contains和substring方法最佳实践与常见问题》本文给大家详细介绍Java字符串操作之contains和substring方法最佳实践与常见问题,本文结合实例... 目录一、contains 方法详解1. 方法定义与语法2. 底层实现原理3. 使用示例4. 注意事项二、su