本文主要是介绍PAT (Advanced Level) Practise 1005,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本题比较简单,利用数组储存大整数,每位数字求和后,再利用sprintf函数将数字返回为字符串,然后输出。代码如下:
#include <iostream>
#include <string>
using namespace std;int main()
{string s;string numE[10]={"zero","one","two","three","four","five","six","seven","eight","nine"}; //用字符串数组存对应的英文数字单词while(cin>>s){int sum=0;for(int i=0;i!=s.length();++i) //求对应数位和sum+=s[i]-'0';char c[10000];string cSum;sprintf(c,"%d",sum); //将整型数据和转换为字符串cSum=c;for(int i=0;i!=cSum.length();++i) //输出对应英语数字{if(i<cSum.length()-1)cout<<numE[cSum[i]-'0']<<' ';elsecout<<numE[cSum[i]-'0']<<endl;}}return 0;
}
这篇关于PAT (Advanced Level) Practise 1005的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!