科学计数法1
科学记数法是科学家容易处理非常大或非常小的数字的方法。该符号与正则表达式[+-][1-9].[0-9]+E[+-][0-9]+匹配,这意味着整数部分只有一个数字,小数部分至少有一个数字,并且即使数字及其指数符号为正,也始终提供数字及其指数符号。
现在给定一个实数a,在科学记数法中,你应该在传统记数法中打印a,同时保留所有有效数字。
输入规格:
每个输入包含一个测试用例。对于每种情况,在科学记数法中都有一行包含实数A。数字长度不超过9999字节,指数的绝对值不超过9999。
输出规格:
对于每个测试用例,在一行中用传统符号打印输入数字A,保留所有有效数字,包括尾随的零。
+ 0.0012E+2
000.12
#include <iostream> using namespace std; int main(){ string s, left; int rig; cin >> s; if (s[0] == '-') printf("-"); for (int i = 0; i < s.size(); i++){ if (s[i] == 'E'){ left = s.substr(1, i - 1); rig = stoi(s.substr(i + 1)); break; } } if (rig < 0){ printf("0."); for (int i = 0; i < abs(rig) - 1; i ++) printf("0"); for (int i = 0; i < left.size(); i++) if (left[i] != '.') printf("%c", left[i]); }else { printf("%c", left[0]); int i, cnt; for (i = 2, cnt = 0; i < left.size() && cnt < rig; i++, cnt++) printf("%c", left[i]); if (i == left.size()) while (cnt++ < rig) printf("0"); else { printf("."); while (i < left.size()) printf("%c", left[i++]); } } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现