1005. Spell It Right (20)

思路:

用字符数组来存储这个大整数

由它的范围可以知道每一项相加都不会大于int的最大值,所以可以用int存储最后各位相加的值

将sum值输入到一个字符数组,然后用另一个数组映射对应的字符串即可

#include <cstdio>

using namespace std;


int main() {
  char num[111]={''};
  scanf("%s",num);
  int sum=0;

  for(int i=0;num[i]!='';i++) {
    sum+=(num[i]-'0');
  }
  //printf("%d
",sum);
  const char* res[]={"zero","one","two","three","four","five","six","seven","eight","nine"};
  
  char tem[10]={''};
  sprintf(tem,"%d",sum);
  //printf("%s
",tem);
  for(int i=0;tem[i]!='';i++) {
    tem[i+1]==''? printf("%s",res[tem[i]-'0']):printf("%s ",res[tem[i]-'0']);
  }
  printf("
");
  return 0;
}

原文地址:https://www.cnblogs.com/tclan126/p/8468606.html