菜鸟,所以就用了笨一点的方法,嘿嘿!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int n,i,j,m,sum[2],t,l,r;
char a[1901][1000],b[100][30];
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
memset(b,0,sizeof(b));
gets(a[i]);
m=strlen(a[i]);
a[i][m]=' ';
j=0;r=0; t=0;
for(j=0;j<=m;j++)
{
if(a[i][j]==' ')
{
for(l=r;l<j;l++)
{
b[t][l-r]=a[i][l];
}
r=j+1;
t++;
}
}
sum[0]=0;l=0;
sum[1]=0;
for(j=0;j<=t;j++)
{
if(strcmp(b[j],"one")==0){ sum[1]=sum[1]+1;continue;}
if(strcmp(b[j],"two")==0) {sum[1]=sum[1]+2;continue;}
if(strcmp(b[j],"three")==0){sum[1]=sum[1]+3;continue;}
if(strcmp(b[j],"four")==0){sum[1]=sum[1]+4; continue;}
if(strcmp(b[j],"five")==0){sum[1]=sum[1]+5;continue;}
if(strcmp(b[j],"six")==0){sum[1]=sum[1]+6; continue;}
if(strcmp(b[j],"seven")==0){sum[1]=sum[1]+7; continue;}
if(strcmp(b[j],"eight")==0){sum[1]=sum[1]+8;continue;}
if(strcmp(b[j],"nine")==0){sum[1]=sum[1]+9; continue;}
if(strcmp(b[j],"ten")==0){sum[1]=sum[1]+10; continue;}
if(strcmp(b[j],"eleven")==0){sum[1]=sum[1]+11; continue;}
if(strcmp(b[j],"twelve")==0){sum[1]=sum[1]+12; continue;}
if(strcmp(b[j],"thirteen")==0){sum[1]=sum[1]+13;continue;}
if(strcmp(b[j],"fourteen")==0){sum[1]=sum[1]+14;continue;}
if(strcmp(b[j],"fifteen")==0){sum[1]=sum[1]+15; continue;}
if(strcmp(b[j],"sixteen")==0){sum[1]=sum[1]+16; continue;}
if(strcmp(b[j],"seventeen")==0){sum[1]=sum[1]+17;continue;}
if(strcmp(b[j],"eighteen")==0){sum[1]=sum[1]+18; continue;}
if(strcmp(b[j],"nineteen")==0){sum[1]=sum[1]+19;continue;}
if(strcmp(b[j],"twenty")==0){sum[1]=sum[1]+20; continue;}
if(strcmp(b[j],"thirty")==0){sum[1]=sum[1]+30; continue;}
if(strcmp(b[j],"forty")==0){sum[1]=sum[1]+40; continue;}
if(strcmp(b[j],"fifty")==0){sum[1]=sum[1]+50; continue;}
if(strcmp(b[j],"sixty")==0){sum[1]=sum[1]+60; continue;}
if(strcmp(b[j],"seventy")==0){sum[1]=sum[1]+70; continue;}
if(strcmp(b[j],"eighty")==0){sum[1]=sum[1]+80; continue;}
if(strcmp(b[j],"ninety")==0) {sum[1]=sum[1]+90; continue;}
if(strcmp(b[j],"million")==0){ sum[0]=(sum[1]+sum[0])*1000000;sum[1]=0;continue;}
if(strcmp(b[j],"thousand")==0){ sum[1]=sum[1]*1000;sum[0]+=sum[1];sum[1]=0;continue;}
if(strcmp(b[j],"hundred")==0) { sum[1]=sum[1]*100;continue;}
}
sum[0]=sum[1]+sum[0];
printf("%d\n",sum[0]);
}
return 0;
}