博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT 乙级 1024
阅读量:5009 次
发布时间:2019-06-12

本文共 1898 字,大约阅读时间需要 6 分钟。

题目

    题目地址:

 

题解

    模拟题,重点需要考虑到各种不同情况;简单来说一下;

    因为输入格式固定,所以把不同的部分分别存储和处理可以在很大程度上简化运算;其中需要考虑最多的就是小数部分在指数不同时的处理方式,大略可以分为以下几种情况:

        1. 指数为正,大于基数(也就是需要在之后补零)

        2. 指数为正,小于基数    注:这种情况没有考虑到,一直有一个测试点过不了

        3. 指数为负

    最后需要说明一点,对于上述第一种情况,如果基数尾部有0,一定要考虑到并且做相应的处理

 

代码

1 #include 
2 #include
3 #include
4 using namespace std; 5 6 int main() { 7 string str, xiaoshu, zhishu; 8 char c1, c2, zhenshu; 9 int len = 0, sum = 0, loc_E = 0;10 cin >> str;11 c1 = str[0];12 zhenshu = str[1];13 for (int i = 3; i < str.size(); i++) {14 if (str[i] == 'E') {15 loc_E = i;16 break;17 }18 xiaoshu += str[i];19 }20 c2 = str[loc_E + 1];21 for (int i = loc_E + 2; i < str.size(); i++)22 zhishu += str[i];23 if (c1 == '-')24 cout << '-';25 len = zhishu.size();26 len--;27 for (int i = 0; i < zhishu.size(); i++) {28 sum += (zhishu[i] - '0') * pow(10, len);29 len--;30 }31 if (c2 == '+') {32 int loc = xiaoshu.size() - 1;33 while (xiaoshu[loc] == '0' && loc >= 0)34 loc--;35 cout << zhenshu;36 if (sum < xiaoshu.size()) {37 for (int i = 0; i < xiaoshu.size(); i++) {38 if (i == sum)39 cout << '.';40 cout << xiaoshu[i];41 }42 }43 else {44 for (int i = 0; i <= loc; i++) {45 cout << xiaoshu[i];46 }47 sum = sum - loc - 1;48 for (int i = 0; i < sum; i++)49 cout << '0';50 }51 }52 else {53 cout << "0.";54 for (int i = 1; i < sum; i++)55 cout << '0';56 cout << zhenshu << xiaoshu;57 }58 cout << endl;59 60 return 0;61 }

 

转载于:https://www.cnblogs.com/moujun1001/p/9980173.html

你可能感兴趣的文章
CAGradientLayer 透明渐变注意地方(原创)
查看>>
【OpenSource】--Web Bench 1.5
查看>>
python-1:工欲善其事,必先利其器 安装配置Anaconda x32位 更新后,启动不了,解决方案(亲测)...
查看>>
Linux 命令(二) Linux下查看文件文件内容命令
查看>>
ubuntu系统如何屏幕截图
查看>>
ArcGIS Engine 创建索引(属性索引)——提高查询效率
查看>>
栅格数据AE
查看>>
开发笔记
查看>>
织梦DEDE多选项筛选_联动筛选功能的实现_二次开发
查看>>
iOS关于RunLoop和Timer
查看>>
SQL处理层次型数据的策略对比:Adjacency list vs. nested sets: MySQL【转载】
查看>>
已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中。
查看>>
MySQL的随机数函数rand()的使用技巧
查看>>
thymeleaf+bootstrap,onclick传参实现模态框中遇到的错误
查看>>
python字符串实战
查看>>
wyh的物品(二分)
查看>>
UNIX网络编程
查看>>
修改页面select <s:if------/>判断
查看>>
3. fooView rxjava + rxandroid + retrofit 安卓开发框架搭配 az kj
查看>>
项目启动及绩效评估
查看>>