题目链接在此。
简单题。注意几点即可:
1. 0-9的英文拼写(我把nine写成night,导致一个测试点过不了,囧)
2. 接收输入的字符数组的大小(>=102)
3. 最后一个不输出空格
#include<stdio.h>
#include<string.h>
char mp[10][10] = {"zero","one","two","three","four","five","six","seven","eight","nine"};
int main(){
char num[105];
scanf("%s",num);
int sum = 0;
for(int i = 0 ; i < strlen(num); i++){
sum += num[i]-'0';
}
//拿到sum的每一位
int res[105], index = 0;
do{
res[index++] = sum%10;
sum /= 10;
} while(sum != 0);
for(int i = index-1; i >= 0; i--){
printf("%s",mp[res[i]]);
if(i != 0) printf(" ");
}
return 0;
}