PAT basic 1024

xiaoxiao2021-02-28  78

#include <iostream> #include <string> using namespace std; int main() { string s; cin >> s; int len = s.length(); if (s[0] == '-') cout << "-"; int pose = 0; for (int i = 1; i < len; i++) { //找到E的位置 if (s[i] == 'E') pose = i; } int after = 0; for (int i = pose + 2; i < len; i++) { //E之后的数字 ,不包括符号 after = (s[i] - '0') + 10 * after; } if (s[pose + 1] == '-') { if (0 < after) { cout << "0."; for (int i = 1; i < after; i++) { cout << 0; } for (int i = 1; i < pose; i++) { if (s[i] >= '0' && s[i] <= '9') { cout << s[i]; } } } else { for (int i = 1; i < pose; i++) { if (i == 2 - after) { cout << "."; } if (s[i] >= '0' && s[i] <= '9') { cout << s[i]; } } } } else { if (pose - 3 < after) { if (s[1] != '0') cout << s[1]; for (int i = 3; i < pose; i++) { if (s[i] >= '0' && s[i] <= '9') { cout << s[i]; } } for (int i = 0; i < after - (pose - 3); i++) { cout << 0; } } else { if (s[1] != '0') cout << s[1]; for (int i = 3; i < pose; i++) { if (i == 3 + after) { cout << "."; } if (s[i] >= '0' && s[i] <= '9') { cout << s[i]; } } } } return 0; }
转载请注明原文地址: https://www.6miu.com/read-66708.html

最新回复(0)