pat 1005. Spell It Right (20)
2015-07-17 13:23
483 查看
1005. Spell It Right (20)
时间限制400 ms
内存限制
65536 kB
代码长度限制
16000 B
判题程序
Standard
作者
CHEN, Yue
Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output every digit of the sum in English.
Input Specification:
Each input file contains one test case. Each case occupies one line which contains an N (<= 10100).
Output Specification:
For each test case, output in one line the digits of the sum in English words. There must be one space between two consecutive words, but no extra space at the end of a line.
Sample Input:
12345
Sample Output:
one five
解:没什么弯子,很简单的一道题,将字符串中每个字符累加计数,再存储每位上的值,进行判断输出。
代码:
#include<iostream> #include<cstring> using namespace std; int main() { string s; while(cin>>s) { int cnt=0,len=s.length(); for(int i=0;i<len;i++) { cnt+=s[i]-48; } int a[10000],c=0; memset(a,0,sizeof(a)); do{ a[c++]=cnt%10; cnt=cnt/10; }while(cnt); for(int i=c-1;i>=0;i--) { if(a[i]==1) { cout<<"one"; } if(a[i]==2) { cout<<"two"; } if(a[i]==3) { cout<<"three"; } if(a[i]==4) { cout<<"four"; } if(a[i]==5) { cout<<"five"; } if(a[i]==6) { cout<<"six"; } if(a[i]==7) { cout<<"seven"; } if(a[i]==8) { cout<<"eight"; } if(a[i]==9) { cout<<"nine"; } if(a[i]==0&&i!=cnt-1) { cout<<"zero"; } if(i!=0) { cout<<' '; } } cout<<endl; } }
相关文章推荐
- Nginx_handler模块发开(hello模块结构解析)
- ASA QOS限速
- 彻底学习STL中的Allocator
- makefile:4: *** missing separator. Stop
- 关于无法下载android开发工具的解决方法
- Spring MVC遭遇checkbox的问题解决方案
- 数据是企业的无价财富——爱数备份存储柜服务器的初体验(图文)
- JAVA学习第四天
- 股票学习06(分时均价线)
- 数据是企业的无价财富——爱数备份存储柜服务器的初体验(图文)
- swift2 控制流
- 欢迎使用CSDN-markdown编辑器
- 黑马程序员——String、Integer、StringBuffer和API类中的常用方法
- windows挂载linux网络文件系统NFS
- 杭电ACM1015——Safecracker
- 实现自我鼠标
- PHP面试题集
- MySQL删除表方式差异
- 黑马程序员——多线程
- YII框架下实现密码修改