Basic Level 1024 科学计数法 (20分)

2023-11-16

题目

科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][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

思路分析:

n保存E后面的字符串对应的数字,t保存E前面的字符串,不包括符号位。当n<0时表示向前移动,先输出0,然后输出abs(n)-1个0,然后继续输出t中的所有数字,当t>0时候表示向后移动,先输出第一个字符,然后将t中尽可能输出n个字符,如果t已经输出到最后一个字符那么就在后面补上n-count个0,否则就补充一个小数点,然后继续输出t剩下没有输出的字符。

代码:

#include <bits/stdc++.h>
using namespace std;
int main(){
    string s, t;
    cin >> s;
    int i = 0;
    while(s[i] != 'E') i++;
    t = s.substr(1, i - 1);
    int n = stoi(s.substr(i + 1));
    if(s[0] == '-') cout << "-";
    if(n < 0){
        cout << "0.";
        for(int j = 0; j < abs(n) - 1; j++) cout << "0";
        for(int k = 0; k < t.length(); k++)
            if(t[k] != '.') cout << t[k];
    }else{
        cout << t[0];
        int count, j;
        for(j = 2, count = 0; j < t.length() && count < n; j++, count++) cout << t[j];
        if(j == t.length())
            for(int k = 0; k < n - count; k++) cout << "0";
        else{
            cout << ".";
            for(int k = j; k < t.length(); k++) cout << t[k];
        }
    }
    return 0;
}

PAT_BasicLevel

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Basic Level 1024 科学计数法 (20分) 的相关文章

  • 【面经】外企德科-华为精英研发项目-笔试编程题

    微信搜索 编程笔记本 获取更多干货 微信搜索 编程笔记本 获取更多干货 点击上方蓝字关注我 我们一起学编程 欢迎小伙伴们分享 转载 私信 赞赏 今天来看一道 外企德科 华为精英研发项目 的一道笔试编程题 求满足条件的最长字串的长度 题目描述

随机推荐

  • 一次 Young GC 的优化实践

    这个 GC 案例比较有意思 排查问题有点像侦探断案 先分析各种可能性 再按照获得的一个个证据 去排除各种可能性 然后定位原因 最终解决问题 问题 某同学在微信上问我 有没有办法排查 YoungGC 效率低的问题 听到这话 我也是不知从何说起
  • Linux网络编程:Socket套接字编程(Server服务器 Client客户端)

    文章目录 一 定义和流程分析 1 定义 2 流程分析 3 网络字节序 二 相关函数 IP地址转换函数inet pton inet ntop 本地字节序 网络字节序 socket函数 创建一个套接字 bind函数 给socket绑定一个服务器
  • 引领AI数据标注行业,景联文科技提供高质量图像和文本标注服务

    近年来 我国的数据要素市场呈现出高速增长的趋势 根据国家工信安全中心的统计数据 截至2022年 我国数据要素市场规模已达到815亿元 同比增长49 51 数据要素作为数字经济时代的关键要素 是构建新发展格局的重要支撑 其重要性日益凸显 党中
  • Android开发学习之路-基本事件的使用

    1 事件的响应方法 setOnClickListener view OnClickListener l setOnFocusChangeListener view OnFocusChangeListener l setOnLongClick
  • [从零开始学习FPGA编程-37]:进阶篇 - 基本时序电路-有限状态机实现(Verilog)

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 第1章 状态机概述 1 1 UML描述状态机 1 2 数字电路描述状态机
  • VScode的代码截图插件CodeSnap

    CodeSnap 在 VS Code 中为您的代码截取漂亮的屏幕截图 插件名 CodeSnap 官方地址 CodeSnap Visual Studio Marketplace 特征 快速保存代码的屏幕截图 将屏幕截图复制到剪贴板 显示行号
  • user-select不可被用户选中

    目录 背景 字段属性 注意 案例 背景 项目中有这种奇葩需求 就是特定字段不让用户复制 不可被选中状态 这种应用场景最多的就是考试系统啥的吧 不让考生复制题目搜题 真恶心 字段属性 注意 浏览器实现之间的区别之一是继承 案例
  • 我用Python做副业,月赚1W+:千万别让死工资拖垮了自己。。

    被压垮的打工人 你还好吗 房贷车贷 上老下小 日常开销节省不了 但你的收入有多少 所以不敢生病 甚至不敢回家 就为了每个月那么点死工资 还得天天加班 然而忙忙忙 却变成了 穷忙族 成为了职场废人 其实很多人都想改变现状 想学点什么的 但就是
  • Proxy error: Could not proxy request错误解决

    vue 项目 错误原因 跨域 解决办法 package json文件中的scripts调试添加 start node index js server nodemon index js ignore client 这篇文章解释的很清楚http
  • 二叉排序树转化成双向链表

    题目描述 输入一棵二叉搜索树 将该二叉搜索树转换成一个排序的双向链表 要求不能创建任何新的结点 只能调整树中结点指针的指向 输入 输入可能包含多个测试样例 对于每个测试案例 输入的第一行为一个数n 0
  • 浅谈Spring-AOP

    HI 大家好 我是Lee 这篇文章我们主要说一下关于Spring AOP 什么是AOP 什么叫做面向切面编程 为什么要使用AOP 接下来让我们往下看 什么是AOP AOP为Aspect Oriented Programming的缩写 意思为
  • Lua基础之语法

    目录 1 输出2 注释3 控制语句4 赋值语句5 运算符6 关键字7 变量类型8 其他 原文地址http blog csdn net dingkun520wy article details 49930543 1 输出 print Hell
  • ubuntu16.04 开启ssh服务

    安装 sudo apt get install openssh server 启动 sudo service ssh start 查询服务启动状态 sudo ps e grep ssh 或者 sudo service ssh status
  • R绘图的文本大小,字体字号,字样,图形边界设置及坐标轴

    用于指定文本大小的参数 cex 表示相对于默认大小缩放倍数的数值 默认大小为1 1 5表示放大为默认值的1 5倍 0 5表示做小为默认大小的0 5倍 cex axis 坐标轴刻度文字的缩放倍数 类似cex cex lab 坐标轴标签 名称
  • markdown插入音频和视频

    优酷视频 width 560 height 315 src http player youku com embed XMzk1NTkwODkzNg allowfullscreen gt 爱奇艺视频 音乐1 border 0 width 33
  • 3DMAX 卸载工具,完美彻底卸载清除干净3dmax各种残留注册表和文件

    一些同学安装3dmax出错了 也有时候想重新安装3dmax的时候会出现这种本电脑windows系统已安装3dmax 你要是不留意直接安装 只会安装3dmax的附件 3dmax是不会安装上的 这种原因呢就是大家在之前卸载3dmax时没有吧3d
  • 中国联通卡上在苹果5上显示无服务器,苹果iPhone8显示无服务怎么办

    2019 10 11阅读 85 您可以通过以下方式下载壁纸 1 使用浏览器下载符合手机屏幕分辨率的壁纸保存至手机相册 2 使用第三方软件下载主题壁纸并安装 3 通过电脑下载喜欢的壁纸图片 通过数据线传输到手机中 2019 10 11阅读 9
  • Spring Boot 单体应用一键升级成 Spring Cloud Alibaba

    背景 随着 Apache Dubbo Nacos 以及 Spring Cloud 等服务框架的流行 越来越多的企业开始采用微服务架构来构建其应用程序 微服务架构使企业能够将其应用程序拆分成多个小型服务 这些服务可以独立部署和扩展 这种架构模
  • 操作系统 --- 进程/线程 同步

    操作系统 进程 线程 同步 资源竞争 race condition 临界区 critical section 解决临界区问题 实现进程同步 进程同步的三个原则 互斥 mutual exclusive 有限等待 bounded waiting
  • Basic Level 1024 科学计数法 (20分)

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