#include<stdio.h> #include<math.h> #include<string.h> #include<stdlib.h> int main() { int i,j,t,flag,len,sum; int a[10] = {0}; char str[10],b[10][10] = {"zero","one","two","three","four","five","six","seven","eight", "nine"}; scanf("%d",&t); for(i = 0;i < t;i++) { sum = 0; scanf("%d",&flag); if(flag == 0) { while(scanf("%s",str) != EOF && strcmp(str,"=")) { if(str[0] >= '0' && str[0] <= '9') { len = strlen(str); for(j = 0;j < len;j++) { a[j] = str[j] - 48; } } else if(strcmp(str,"+") == 0) { for(j = 0;j < len;j++) { sum = sum + a[j]*pow(10,len - 1 - j); } len = 0; } else { for(j = 0;j < 10;j++) { if(strcmp(str,b[j]) == 0) { a[len++] = j; break; } } } } if(strcmp(str,"=") == 0) { for(j = 0;j < len;j++) { sum += a[j]*pow(10,len - 1 - j); } printf("%d\n",sum); } } else { while(scanf("%s",str) != EOF && strcmp(str,"=")) { if(str[0] >= '0' && str[0] <= '9') { len = strlen(str); for(j = 0;j < len;j++) { a[j] = str[j] - 48; } } else if(strcmp(str,"+") == 0) { for(j = 0;j < len;j++) { sum = sum + a[j]*pow(10,len - 1 - j); } len = 0; } else { for(j = 0;j < 10;j++) { if(strcmp(str,b[j]) == 0) { a[len++] = j; break; } } } } if(strcmp(str,"=") == 0) { for(j = 0;j < len;j++) { sum += a[j]*pow(10,len - 1 - j); } while (sum >= 10) { printf("%s ",b[sum/10]); sum%=10; } printf("%s\n",b[sum]); } } } return 0; } |
Double click to view unformatted code.