#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> #include<stdbool.h> typedef struct{ char name[20]; int flag; }Children; int a[1000010]; int num[100000]; int max(int a,int b){ return a>b?a:b; } int main(){ int n; int flag; char s[2000]; int num1,num2; while(scanf("%d",&n)!=EOF){ char temp[10][10]={"zero","one","two","three","four","five","six","seven","eight","nine"}; while(n--){ scanf("%d",&flag); num1=0;num2=0; int count=0; while(1){ scanf("%s",&s); if(strcmp(s,"=")==0){ break; } if(strcmp(s,"+")==0){ count=1; continue; } if(s[0]>='0'&&s[0]<='9'){ int len=strlen(s); for(int i=0;i<len;i++){ if(count==0){ num1=num1*10+s[i]-'0'; }else{ num2=num2*10+s[i]-'0'; } } }else{ for(int i=0;i<10;i++){ if(strcmp(s,temp[i])==0){ if(count==0){ num1=num1*10+i; break; }else{ num2=num2*10+i; break; } } } } } if(flag==0){ printf("%d\n",num1+num2); }else{ int t=num1+num2; int pos=0; while(t>0){ num[pos]=t%10; pos++; t/=10; } for(int i=pos-1;i>0;i--){ printf("%s ",temp[num[i]]); } printf("%s\n",temp[num[0]]); } } } } |
Double click to view unformatted code.