PAT-B 1002. 写出这个数 (20) Stupid!
来源:互联网 发布:医生转行知乎 编辑:程序博客网 时间:2024/05/21 06:56
题目链接:点击打开题目链接
这个题需要注意的就是空格的输出,这应该属于这个题目的边界条件。
AC代码:
#include<iostream>#include<cstdio>using namespace std;int main(){char n;char num[10][5] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};int sum = 0,x;int g,s,b;while((n = getchar()) != '\n'){if(n =='0'){x = 0;}else if(n =='1'){x = 1;}else if(n =='2'){x = 2;}else if(n =='3'){x = 3;}else if(n =='4'){x = 4;}else if(n =='5'){x = 5;}else if(n =='6'){x = 6;}else if(n =='7'){x = 7;}else if(n =='8'){x = 8;}else if(n =='9'){x = 9;}sum += x;}if(!sum){cout << num[0] << endl;}else{b = sum/100;s = sum/10%10;g = sum%10;cout << !b?"":num[b];if(b != 0){cout << " ";}cout << (!s && !b)?"":num[s];if(b || !b&&s){cout << " ";}else if(s == 0 && b!=0){cout << "";}cout << num[g];}return 0;}
感觉自己好傻,sum+=n-'0'; 这一句话就可以代替所有的if-else。
这里是我第二次做到这个题目的做法,也是题目后面加上“Stupid!”的原因。
0 0
- PAT-B 1002. 写出这个数 (20) Stupid!
- PAT(B)1002. 写出这个数 (20)
- PAT-B 1002. 写出这个数 (20)
- PAT-B 1002. 写出这个数 (20)
- PAT-B 1002. 写出这个数 (python)
- pat(B) 1002. 写出这个数
- PAT-B 1002. 写出这个数
- PAT-B 1002. 写出这个数
- PAT-B 1002 写出这个数 (20)
- PAT-1002B 写出这个数 (20)
- PAT 1002. 写出这个数 (20)
- PAT - 1002. 写出这个数 (20)
- [PAT]1002. 写出这个数 (20)
- PAT 1002. 写出这个数 (20)
- 【PAT】 1002. 写出这个数 (20)
- [PAT]1002.写出这个数 (20)
- PAT 1002. 写出这个数 (20)
- PAT Basic 1002. 写出这个数 (20)
- POJ-1251 HDU-1301 (最小生成树)
- 动作游戏战斗系统设计综述
- 如何将jsp页面的table报表转换到excel报表导出
- 文件、目录操作
- android 自动弹出软键盘(输入键盘)
- PAT-B 1002. 写出这个数 (20) Stupid!
- ios7,viewcontroller, edgesForExtendedLayout
- 监听手机电话状态改变的两种方法
- java中的修饰符以及作用范围详解图解
- java异常Exception
- 解决ThinkPHP错误Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'
- tcp keepalive介绍与netty 心跳实现
- C#对excel文件的基本操作
- servlet的生命周期