SWUSTOJ#287
题目描述
读入两个小于100的正整数A和B,计算A+B。需要注意的是:A和B的每一位数字由对应的英文单词给出。
输入
输出
样例输入
样例输出
源代码
#include <stdio.h>
#include <string.h>
int main()
{
char a[20];
while(1)
{
int sum=0, A=0, B=0;
int num(char a[]);
scanf("%s", a);
A = num(a);
scanf("%s", a);
if(strcmp(a,"+") != 0)
{
A = A*10 + num(a);
scanf("%s", a);
}
scanf("%s", a);
B = num(a);
scanf("%s", a);
if(strcmp(a,"=") != 0)
{
B = B*10 + num(a);
scanf("%s", a);
}
sum = A + B;
if(sum == 0)
break;
else
printf("%d\n", sum);
}
return 0;
}
int num(char a[])
{
if(strcmp(a,"one") == 0) return 1;
else if(strcmp(a,"two") == 0) return 2;
else if(strcmp(a,"three") == 0) return 3;
else if(strcmp(a,"four") == 0) return 4;
else if(strcmp(a,"five") == 0) return 5;
else if(strcmp(a,"six") == 0) return 6;
else if(strcmp(a,"seven") == 0) return 7;
else if(strcmp(a,"eight") == 0) return 8;
else if(strcmp(a,"nine") == 0) return 9;
else if(strcmp(a,"zero") == 0) return 0;
}