題目:A + B
測試輸入包含若干測試用例,每個測試用例占一行,格式為"A + B =",相鄰兩字符串有一個空格間隔.當A和B同時為0時輸入結束,相應的結果不要輸出.
[cpp] #include <iostream>
#include <cstdio>
#include <string.h>
using namespace std;
char num[10][10]={"zero","one","two","three","four","five","six","seven","eight","nine"};
int search(char ch[])
{
int i;
for(i=0;i<10;i++)
{
if(!strcmp(ch,num[i]))
break;
}
return i;
}
int main()
{
char count[10];
int a,b;
while(1)
{
a=0;
while(scanf("%s",count)&&strcmp(count,"+"))
{
a=a*10+search(count);
}
b=0;
while(scanf("%s",count)&&strcmp(count,"="))
{
b=b*10+search(count);
}
if(a==0&&b==0) return 0;
else cout<<a+b<<endl;
}
return 0;
}
#include <iostream>
#include <cstdio>
#include <string.h>
using namespace std;
char num[10][10]={"zero","one","two","three","four","five","six","seven","eight","nine"};
int search(char ch[])
{
int i;
for(i=0;i<10;i++)
{
if(!strcmp(ch,num[i]))
break;
}
return i;
}
int main()
{
char count[10];
int a,b;
while(1)
{
a=0;
while(scanf("%s",count)&&strcmp(count,"+"))
{
a=a*10+search(count);
}
b=0;
while(scanf("%s",count)&&strcmp(count,"="))
{
b=b*10+search(count);
}
if(a==0&&b==0) return 0;
else cout<<a+b<<endl;
}
return 0;
}