2019-08-27 A1073

这道题使我一开始感到毫无头绪,但是看过柳神的思路之后恍然大悟,解决这道题的关键是要想办法解决小数点左移和右移的问题,其实这也不是困难的问题,只要将小数点在合适的位置输出即可。

#include <iostream>
using namespace std;

int main() {
    string s;
    int i = 0;
    cin >> s;
    while(s[i] != 'E')
        i++;
    string m = s.substr(1, i - 1);
    int n = stoi(s.substr(i + 1));
    if(s[0] == '-')
        printf("-");
    if(n < 0){
        printf("0.");
        for(int j = 0; j < abs(n) - 1; j++)
            cout << '0';
        for(int j = 0; j < m.length(); j++)
        if(m[j] != '.') cout << m[j];
    }
    else {
        cout << m[0];
        int j, t;
        for(j = 2, t = 0; j < m.length() && t < n; j++, t++){
            cout << m[j];
        }
        if(j == m.length()){
            for(int k = 0; k < n - t; k++) cout << '0';
        }else {
            cout << '.';
            for(int k = j; k < m.length(); k++) cout << m[k];
        }
    }   
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 此情可待成追忆,只是当时已惘然。——李商隐 清晨的冷风惹人嫌 拉不住棉被,晨光乍眼 梦幻与现实之间 相遇时热烈 相...
    硬小子阅读 119评论 0 1
  • 辅导费
    fb0185eacc04阅读 174评论 0 1
  • 下了一夜的大雨,吹了一夜的狂风,小恋却睡得很安稳,这是这三个月以来,她睡得最香甜的一天。 早上起来的她,不明所以,...
    一心小记阅读 249评论 0 4
  • 皇甫宇轩稍稍梳洗了下,天就已经亮了,今天的他想出去跑跑步了,于是换上了运动装,他很少穿休闲服装,第一次穿上运动装,...
    蔷薇下的阳光阅读 476评论 2 3