【码蹄集新手村 600 题】科学计数法的实现方式,输出指数形式

题目链接:

码蹄集 (matiji.net)

解题思路:

科学计数法:

  • 整数计数法:

(1)7.823E5=782300,这种表示方式就是:E代表10,E后面的数代表的是指数位,例如这里的5代表指数是10的5次方

(2)1234567 = 1.234567E+6,这种表示方式是:1.表示的是1.234567乘以后面的数,也就是后面的E+6表示的是10的6次方

  • 小数计数法

(1)1.23456e+002 ,这个数的表示方式就是,e+002 表示10 的2次方,这里的数就是123.456。

(2)202 +0.00000E+00,这样的数就是表示为202加上后面有个精确到小数点后五位的数
 

在 printf 函数中使用格式控制符来输出指数形式的小数

在 C++ 我们可以用关键字 scientific 来实现指数形式的打印

只不过这俩种方式只能输出后俩位

而该题目要求输出后三位

所以我们可以自己编写一个求科学计数法的函数

参考代码:

#include<bits/stdc++.h> 

using namespace std;

double a = 3.1415926,b = 12345678.123456789;
void solve (double a)
{
    printf("%.6lf",a);

    int i = 0;
    while(a > 10)
    {
        a = a/10.0;//别忘了小数点
        i++;
    }

    printf(" %.6lfe+",a);

    cout << setw(3) << setfill('0') << i ;
    
    return;
}
int main( )
{
    solve(a);
    cout << endl;
    solve(b);
    return 0;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值