读入两个小于100的正整数A和B,计算A+B。需要注意的是:A和B的每一位数字由对应的英文单词给出。
测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。
对每个测试用例输出1行,即A+B的值。
输入:
one + two =
three four + five six =
zero seven + eight nine =
zero + zero =
输出:
3
90
96
代码:
字符串比较:
//====================================================
//名称:程序设计C 实验三 题目八 one + two = 3(0287)
//作者:郭成涛
//时间:2017-08-15
//简介:读入两个小于100的正整数A和B,计算A+B。需要注意的是:A和B的每一位数字由对应的英文单词给出。
//====================================================
#include<stdio.h>
#include<string.h>
int cmp(char s[])
{
if(strcmp(s,"zero")==) return ;
else if(strcmp(s,"one")==) return ;
else if(strcmp(s,"two")==) return ;
else if(strcmp(s,"three")==) return ;
else if(strcmp(s,"four")==) return ;
else if(strcmp(s,"five")==) return ;
else if(strcmp(s,"six")==) return ;
else if(strcmp(s,"seven")==) return ;
else if(strcmp(s,"eight")==) return ;
else if(strcmp(s,"nine")==) return ; }
main()
{
char str[];
int num_a,num_b;
while(scanf("%s",&str)!=EOF)//输入第一个字符串
{
num_a=cmp(str);
scanf("%s",&str);//输入第二个字符串
if(strcmp(str,"+")!=)
{
num_a=num_a*+cmp(str);
scanf("%s",&str);//输入+加号
}
scanf("%s",&str);//输入第三个字符串
num_b=cmp(str);
scanf("%s",&str);//输入第四个字符串
if(strcmp(str,"=")!=)
{
num_b=num_b*+cmp(str);
scanf("%s",&str);//输入等号=
}
if(num_a==&&num_b==)
{
break;
}
printf("%d\n",num_a+num_b);//求和
}
}
代码2:
//====================================================
//名称:程序设计C 实验三 题目八 one + two = 3(0287)
//作者:郭成涛
//时间:2015-11-28
//简介:读入两个小于100的正整数A和B,计算A+B。需要注意的是:A和B的每一位数字由对应的英文单词给出。
//====================================================
#include<stdio.h>
#include<string.h>
int cmp(char s[])
{
if(strcmp(s,"zero")==) return ;
else if(strcmp(s,"one")==) return ;
else if(strcmp(s,"two")==) return ;
else if(strcmp(s,"three")==) return ;
else if(strcmp(s,"four")==) return ;
else if(strcmp(s,"five")==) return ;
else if(strcmp(s,"six")==) return ;
else if(strcmp(s,"seven")==) return ;
else if(strcmp(s,"eight")==) return ;
else if(strcmp(s,"nine")==) return ; }
main()
{
int count=,i=,a=,temp=;
char s[];
while(scanf("%s",s)!=EOF)
{
if(strcmp(s,"=")==)
{
if(count==)
a+=temp;
else if(count==)
a+=temp/;
if(a==)
return ;
else
printf("%d\n",a);
a=;
temp=;
i=;
count=;
}
else if(strcmp(s,"+")==)
{
if(count==)
a=temp;
if(count==)
a=temp/;
count=;
i=;
temp=;
}
else
{
count++;
temp+=i*cmp(s);
i=i/;
}
}