這個題目的關鍵就在怎麼判斷,不多說,看代碼:
#include<iostream>
#include<string>
#include<string.h>
using namespace std;
int main()
{
string a[10]={"zero","one","two","three","four","five","six","seven","eight","nine"};
string b,t[10];
int c,d,i,j,sum1,sum2,s,q,kong=0;
top: while(cin>>b)
{
t[kong]=b;
kong++;
if(b=="=")
goto next;
}
next:
for(i=0;i<kong;i++)
if(t[i]=="+")
break;
if(i==1)
{
for(j=0;j<10;j++)
{
if(t[0]==a[j])
{
c=j;
break;
}
}
}
else if(i==2)
{
for(j=0;j<10;j++)
{
if(t[0]==a[j])
{
c=j*10;
break;
}
}
for(j=0;j<10;j++)
{
if(t[1]==a[j])
{
c+=j;
}
}
}
sum1=kong-2-i;
if(sum1==1)
{
for(j=0;j<10;j++)
if(t[i+1]==a[j])
{
d=j;
break;
}
}
else if(sum1==2)
{
for(j=0;j<10;j++)
if(t[i+1]==a[j])
{
d=j*10;
break;
}
for(j=0;j<10;j++)
{
if(t[i+2]==a[j])
{
d+=j;
break;
}
}
}
if(c+d!=0)
cout<<c+d<<endl;
else
goto end;
kong=0;
goto top;
end:
return 0;
}