早教吧作业答案频道 -->其他-->
杭电1228读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出.测试输入包含若干测试用例,每个测试用例占一行,格式为"A+B=",相邻两字符串有一个空格
题目详情
杭电1228 读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出.
测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.
Output
对每个测试用例输出1行,即A+B的值.
Sample Input
one + two =
three four + five six =
zero seven + eight nine =
zero + zero =
Sample Output
3
90
96
#include
using namespace std;
int main()
{
string a,b;
int s1=0,s2=0,s;
loop:while(cin>>a)
{
if(a=="one")
s1=s1*10+1;
else if(a=="two")
s1=s1*10+2;
else if(a=="three")
s1=s1*10+3;
else if(a=="four")
s1=s1*10+4;
else if(a=="five")
s1=s1*10+5;
else if(a=="six")
s1=s1*10+6;
else if(a=="seven")
s1=s1*10+7;
else if(a=="eight")
s1=s1*10+8;
else if(a=="nine")
s1=s1*10+9;
else if(a=="+")
break;
}
while(cin>>b)
{
if(b=="one")
s2=s2*10+1;
else if(b=="two")
s2=s2*10+2;
else if(b=="three")
s2=s2*10+3;
else if(b=="four")
s2=s2*10+4;
else if(b=="five")
s2=s2*10+5;
else if(b=="six")
s2=s2*10+6;
else if(b=="seven")
s2=s2*10+7;
else if(b=="eight")
s2=s2*10+8;
else if(b=="nine")
s2=s2*10+9;
else if(b=="=")
break;
}
s=s1+s2;
cout
测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.
Output
对每个测试用例输出1行,即A+B的值.
Sample Input
one + two =
three four + five six =
zero seven + eight nine =
zero + zero =
Sample Output
3
90
96
#include
using namespace std;
int main()
{
string a,b;
int s1=0,s2=0,s;
loop:while(cin>>a)
{
if(a=="one")
s1=s1*10+1;
else if(a=="two")
s1=s1*10+2;
else if(a=="three")
s1=s1*10+3;
else if(a=="four")
s1=s1*10+4;
else if(a=="five")
s1=s1*10+5;
else if(a=="six")
s1=s1*10+6;
else if(a=="seven")
s1=s1*10+7;
else if(a=="eight")
s1=s1*10+8;
else if(a=="nine")
s1=s1*10+9;
else if(a=="+")
break;
}
while(cin>>b)
{
if(b=="one")
s2=s2*10+1;
else if(b=="two")
s2=s2*10+2;
else if(b=="three")
s2=s2*10+3;
else if(b=="four")
s2=s2*10+4;
else if(b=="five")
s2=s2*10+5;
else if(b=="six")
s2=s2*10+6;
else if(b=="seven")
s2=s2*10+7;
else if(b=="eight")
s2=s2*10+8;
else if(b=="nine")
s2=s2*10+9;
else if(b=="=")
break;
}
s=s1+s2;
cout
▼优质解答
答案和解析
1.没有包含头文件#include
2.题中要求A B同时为0的时候结束 对应结果不用输出,你编的会先输出再结束.
下面是正确的代码.可以参考下
#include
#include
int cmp(char s[])
{
if(strcmp(s,"zero")==0) return 0;
else if(strcmp(s,"one")==0) return 1;
else if(strcmp(s,"two")==0) return 2;
else if(strcmp(s,"three")==0) return 3;
else if(strcmp(s,"four")==0) return 4;
else if(strcmp(s,"five")==0) return 5;
else if(strcmp(s,"six")==0) return 6;
else if(strcmp(s,"seven")==0) return 7;
else if(strcmp(s,"eight")==0) return 8;
else if(strcmp(s,"nine")==0) return 9;
return 0;
}
main()
{
int count=0,i=10,a=0,temp=0;
char s[10];
while(scanf("%s",s)!=EOF)
{
if(strcmp(s,"=")==0)
{
if(count==2)
a+=temp;
else if(count==1)
a+=temp/10;
if(a==0)
return 0;
else
printf("%d\n",a);
a=0;
temp=0;
i=10;
count=0;
}
else if(strcmp(s,"+")==0)
{
if(count==2)
a=temp;
if(count==1)
a=temp/10;
count=0;
i=10;
temp=0;
}
else
{
count++;
temp+=i*cmp(s);
i=i/10;
}
}
}
2.题中要求A B同时为0的时候结束 对应结果不用输出,你编的会先输出再结束.
下面是正确的代码.可以参考下
#include
#include
int cmp(char s[])
{
if(strcmp(s,"zero")==0) return 0;
else if(strcmp(s,"one")==0) return 1;
else if(strcmp(s,"two")==0) return 2;
else if(strcmp(s,"three")==0) return 3;
else if(strcmp(s,"four")==0) return 4;
else if(strcmp(s,"five")==0) return 5;
else if(strcmp(s,"six")==0) return 6;
else if(strcmp(s,"seven")==0) return 7;
else if(strcmp(s,"eight")==0) return 8;
else if(strcmp(s,"nine")==0) return 9;
return 0;
}
main()
{
int count=0,i=10,a=0,temp=0;
char s[10];
while(scanf("%s",s)!=EOF)
{
if(strcmp(s,"=")==0)
{
if(count==2)
a+=temp;
else if(count==1)
a+=temp/10;
if(a==0)
return 0;
else
printf("%d\n",a);
a=0;
temp=0;
i=10;
count=0;
}
else if(strcmp(s,"+")==0)
{
if(count==2)
a=temp;
if(count==1)
a=temp/10;
count=0;
i=10;
temp=0;
}
else
{
count++;
temp+=i*cmp(s);
i=i/10;
}
}
}
看了 杭电1228读入两个小于10...的网友还看了以下:
如图1所示,带正电的小球靠近不带电的金属导体AB的A端.由于静电感应,导体A端带负电荷,B端带正电 2020-05-15 …
为确保信息安全,信息需要加密传输,发送方由明文→密文(加密),接收方由密文→明文(解密).已知加密 2020-05-17 …
急性肺水肿时酒精湿化吸氧,氧流量应A.1-~2L/minB.2一-4L/minC.4-~6L/min 2020-05-18 …
一般说来,除不可抗力外,被保险人在保险事故发生后应()A.1小时内通知保险公司B.12小时内通知保险 2020-05-31 …
(1)计算:(a-1)(a+1)=;(a-1)(a^2+a+1)=;(a-1)(a^3+a^2+a 2020-07-18 …
(a-1)(a+1)=?(a-1)(a^2+a+1)=?(a-1)(a^3+a^2+a+1)=?由 2020-07-21 …
下列各组中的反应,属于同一反应类型的是()A.由溴乙烷水解制乙醇;由乙烯与水反应制乙醇B.由甲苯硝 2020-07-29 …
一道关于一阶常系数线性差分方程的简单问题Y(t+1)+4Yt=5求通解a=4则对应齐次方程的通解为 2020-08-02 …
工程师可以对已经验收的隐蔽工程提出重新检验的要求,若重新检验发现工程质量不合格时,则应A.由承包人承 2020-11-06 …
金属冶炼与处理常涉及氧化还原反应。(1)由下列物质冶炼相应金属时采用电解法的是。a.Fe2O3b.N 2020-12-20 …