//你题目中那代码太差了,还用什么goto,而且输出也不符合题目要求。。。。
//帮你写了一份
#include
#include
#include
using namespace std;
//By:@qwn3213
//2015.09.02
string str[]={"zero","one","two","three","four","five","six","seven","eight","nine"};
int input()
{
string a;
int s1=0;
while(cin>>a)
{
if(a=="+"||a=="=")
break;
for(int i=0;i<10;i++)
if(a==str[i])
{
s1=s1*10+i;
break;
}
}
return s1;
}
void output(int x)
{
char s[20];
sprintf(s,"%d",x);
for(int i=0;s[i]!=0;i++)
cout<cout< }
int main()
{
int a,b;
while(1)
{
a=input();
b=input();
if(a==0&&b==0)
return 0;
output(a+b);
}
return 0;
}
容易,搞个枚举型的,从0到198,最大99+99,全用英文然后匹配输入,输出,就ok了
其实,这个程序还有一个bug,就是输入100+101,就会崩溃,不过约定输入在0~99之间,就ok了。如果想完美解决,就搞两个数组,一个保存0~99,一个保存0~198,开始查找都用第一个数组,最后一行输出,换成第二个数组,就完美了。
用字典树做啊,将英文单词存入字典树,每个单词对应个数字,分分钟得事啊!