题解 | 特殊的科学计数法

特殊的科学计数法

https://www.nowcoder.com/practice/ca0962879d3b40d8bb598fb9a905ac7a

// 注意cout在输出1.0时,如果直接写"cout<<1.0"他会把末尾的".0"全部去掉
// 而且这个知识点还卡了你3个测试样例。。。。。,出题人好阴。。。。。。
#include <bits/stdc++.h>
using namespace std;

int main() {
    string s;cin>>s;
    // N应该是一个合法数字吧
    int c = s.length()-1;
    int b = s[1]-'0';
    int a = s[0]-'0';
    if (s[2] >= '5')
    {
        b++;
    }
    // 如果b为10
    if (b == 10)
    {
        b = 0;
        a++;
    }
    if (a == 10)
    {
        cout<<"1.0*10^"<<c+1;
    }
    else   
    {
        cout<<a<<'.'<<b<<"*10^"<<c;
    }
}
// 64 位输出请用 printf("%lld")

RogeAustine题解系列 文章被收录于专栏

这里是RogeAustine的题解专栏,里面包含的题目都是十分典型的经典题目。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务