#include <iostream> #include <string> using namespace std; int main() { string s; cin >> s; int a = s[0] - '0'; int b = (s.size() > 1) ? (s[1] - '0') : 0; int c = (s.size() > 2) ? (s[2] - '0') : 0; int exp = (int)s.size() - 1; if (c >= 5) { b++; if (b == 10) { b = 0; a++; if (a == 10) { a = 1; b = 0; exp++; // 指数加1 } } } cout << a << "." << b << "*10^" << exp << "\n"; return 0; }
进位的问题好坑