题目大意:
给出一个正整数N,计算N的各个位的和,然后用英语输出
输入:
N<=10的100次方
输出:
英语输出
思路:
数字规模太大,看成字符串读取,然后算出每位的和,再取出每位,用英语输出
代码:
#include<stdio.h>
#include<iostream>
using namespace std;
string str;
char strs[15][15]={"zero","one","two","three","four","five","six","seven","eight","nine"};
int main()
{
cin>>str;
int sum=0;
for(int i=0;i<str.size();i++)
{
sum+=(str[i]-'0');
}
int num[100];
int k=0;
while(sum)
{
num[k++]=sum%10;
sum/=10;
}
printf("%s",strs[num[k-1]]);
for(int i=k-2;i>=0;i--)
{
printf(" %s",strs[num[i]]);
}
return 0;
}
觉得有帮助的小伙伴点个赞吧!!!谢谢!!!