#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
#include<string>using namespace std;
struct SCINUM { // 科学计数法结构体string valid_num; //有效位int index;//指数SCINUM() {index = 0; // 10^index }
};//将string表示的浮点数转化为科学表示法的数值
//valid_cnt保留的有效位数
SCINUM str2Sci(string num, int valid_cnt) {SCINUM scinum;int dot_pos, nzero_pos; // dot_pos:小数点位置、 nzero_pos:第一个非零数值的位置//找到小数点的位置dot_pos = num.find("."); if (dot_pos == string::npos)//没有小数点,小数点就在最后一个位置dot_pos = num.size();//找到第一个非零数字的位置nzero_pos = 0;while (nzero_pos < num.size() && (num[nzero_pos] == '0' || num[nzero_pos] == '.'))nzero_pos++;//如果上面找到的都是0,那么这是数是零,可以直接返回if (nzero_pos == num.size()) {while (scinum.valid_num.size() < valid_cnt)//在后面补够有效位数scinum.valid_num.push_back('0');//补‘0’return scinum; //返回}//求出小数点需要移动的位数,即求指数的大小scinum.index = dot_pos - nzero_pos;//小数点位置-非零数值的位置if (dot_pos < nzero_pos)scinum.index++;//把有效位存储到scinum里面的valid_numfor (int i = nzero_pos; i < num.size() && scinum.valid_num.size() < valid_cnt; i++) {if (num[i] != '.')scinum.valid_num += num[i];}//补‘0’,筹够有效位数while (scinum.valid_num.size() < valid_cnt)scinum.valid_num.push_back('0');return scinum;
}

PAT题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805413520719872

int main() {string str1, str2;int cnt;cin >> cnt >> str1 >> str2;SCINUM scinum1, scinum2;scinum1 = str2Sci(str1, cnt);scinum2 = str2Sci(str2, cnt);if (scinum1.valid_num == scinum2.valid_num && scinum1.pow == scinum2.pow) {printf("YES 0.%s*10^%d\n", scinum1.valid_num.c_str(), scinum1.pow);}else {printf("NO 0.%s*10^%d 0.%s*10^%d\n", scinum1.valid_num.c_str(), scinum1.pow, scinum2.valid_num.c_str(), scinum2.pow);}return 0;}

把浮点型数值用科学计数法输出相关推荐

  1. 【C/C++】小数的输出 %e的用法 用科学计数法输出数据 %e输出00

    小数的输出 %e的用法 %e是printf的格式控制字符,用于指定浮点类型数据使用指数形式输出 浮点类型分为整数部分和小数部分,它们由点号.分隔,例如 0.0.75.0.4.023.0.27.-937 ...

  2. python怎么用科学计数法输出_python 输出数字,如何不以科学计数法输出?

    概述定义一个2113变量,用于记录次数,然5261后这个次数没输出一个4102数自己加1,然后处理这个数,取1653整数,并且再次归零.代码详解使用循环输出列表,利用 计数器控制输出数量,当输出到第十 ...

  3. python科学计数法输出_python 不以科学计数法输出的方法

    python 不以科学计数法输出的方法 其实很简单只需两个语句: import numpy as np np.set_printoptions(suppress=True) 这样就可以搞定 以上这篇p ...

  4. python科学计数法输出_python不以科学计数法输出的实例方法总结

    python 不以科学计数法输出的方法 其实很简单只需两个语句: import numpy as np np.set_printoptions(suppress=True) 这样就可以搞定 以上这篇p ...

  5. python将数值转为科学计数法展示

    环境:python3.9 1. 如何将时间戳转为科学计数法? from time import time t = int(time()) #1660199861 t = '{:.9e}'.format ...

  6. Python不使用科学计数法输出数据的实现方法

    文章目录 前言 一.背景介绍 二.例子详解 1.例1 以常规形式输出: 2.例2 以科学计数法形式输出: 总结 前言 本文主要介绍在利用Python进行科学计算的时候,怎么让计算出来的数据不以科学计数 ...

  7. R语言数值取消科学计数法表示

    >#取消科学计数法 >options(scipen = 200) >#scipen 表示在200个数字以内都不使用科学计数法

  8. pandas 保存excel 数值显示科学计数法的问题

    注意有些文章里把 df[字段名] = df[字段名].astype(str)      直接写成  df[字段名].astype(str) , 那是没用的. import pandas as pd f ...

  9. python 不以科学计数法输出

    其实很简单只需两个语句: import numpy as np np.set_printoptions(suppress=True) 这样就可以搞定

最新文章

  1. Google Map API 开发基础--01
  2. Shiro权限控制笔记要点
  3. spring异常Unsatisfied dependency expressed through constructor parameter 0
  4. Rails的作者DHH获奖:Winning Google/O'Reilly's Best Hacker of '05
  5. Ubuntu编译安装VASP
  6. Hive和Hadoop及RDBMS关系
  7. day01语法python入门_2
  8. 打造自己的Lnmp固若金汤系统
  9. spring3.1.1与commons-dbcp1.2的冲突?
  10. 正确姿势使用TraceView工具
  11. IDEA 配置 google翻译插件(Translate)
  12. mac 打开网页慢_苹果笔记本打开网页很慢是什么原因
  13. c语言设计程序计算水仙花数,C语言水仙花数算法
  14. 【Android UI设计与开发】4.底部菜单栏(一)Fragment介绍和简单实现
  15. 学习Matlab的第一个程序——用二分法求根
  16. MAC如何查看图片尺寸大小
  17. 青少年软件编程C++一级题库(31-40)
  18. 【环信IM集成指南】iOS端常见问题整理(1)
  19. 是不是顺子【C语言保姆级讲解】
  20. 基于python的鲜花商城

热门文章

  1. 十年程序员的告诫:千万不要重写代码!
  2. 专访百度熊辉:有人转AI纯粹因为好找工作,这样的人不是我想要的
  3. 重磅!Facebook公布PyTorch 1.0预览版!
  4. 面试官:说说RabbitMQ 消费端限流、TTL、死信队列
  5. 为什么 HashMap 加载因子一定是0.75?而不是0.8,0.6?
  6. 关于 MyBatis 我总结了 10 种通用的写法
  7. 看完这篇还不懂Redis的RDB持久化,你们来打我!
  8. 目标检测模型从训练到部署!
  9. 百度发布全功能AI平台!
  10. 深度学习框架盘点和实践!