读入两个小于100的正整数A和B,计算A+B。需要注意的是:A和B的每一位数字由对应的英文单词给出。
具体的输入输出格式规定如下:
输入格式:测试输入包含若干测试用例,每个测试用例占一行,格式为 "A + B = ",相邻两字符串有一个空格间隔。当A和B同时为zero时输入结束,相应的结果不要输出。
输出格式:对每个测试用例输出1行,即A+B的值。
输入样例:
one + two =
three four + five six =
zero seven + eight nine =
zero + zero =
输出样例:
three
nine zero
nine six
网上找到这个
#include<iostream>
#include<string>
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=="zero")
s2=s2*10+0;
else if(b=="=")
break;
}
s=s1+s2;
cout<<s<<endl;
if((s)!=0)
{
s1=s2=0;
goto loop;
}
}
但是输出是数字而且 zero + zero = 会输出0
求大神指导怎么做
C++课题。读入两个小于100的正整数A和B,计算A+B。需要注意的是:A和...
for(int i=0;i<10;i++) if(a==str[i])
pascal读入两个小于100的正整数A和B,计算A+B. 需要注意的是:A和B的...
const num:array[0..9]of string[5]=('zero','one','two','three','four','five','six','seven','eight','nine');var a,b,i,n:integer; c:char; ss:string; ans:array[1..100]of integer;function readnum:integer;var s:string[8]; j:integer;begin while ss[i] in [' ...
用英文单词模拟数学计算 用C++做 急
int b[10]={0,1,2,3,4,5,6,7,8,9};for(int i=0;i<9;i++)if(str==a[i])return b[i];} int main(){ string a[10];int i,j,s1,s2,s;for(i=0;i<10;i++){ cin>>a[i];if(a[i]=="=")break;} if(a[1]=="+"){ s1=trans(a[0]);if(a[3]=="=")s...
读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末 ...
char a[10], b[10];int k;int i,j;int len1 , len2;int num1,num2 ;int sum,mid,ind,max;while(scanf("%s %s %d",a ,b , &k) != EOF){ num1= num2 = 0;sum = 0;i = j = 0;max = 0;ind = 0;len1 = strlen(a);len2 = strlen(b);for(i = 0; i < le...
C++两个数字 比大小的问题. 请告诉指点。一定要解释 注释 谢谢老_百度...
cin>>b; \/\/将你输入的第二个整数赋值给b if(a>b) \/\/判断如果a大于b,屏幕打印字符串:a确确实实大一点点 cout<<a<<"确确实实大一点点"<<endl;else if (a==b) \/\/判断如果a等于b,屏幕打印字符串:a,b大小相同 cout<<"a,b大小相同"<<endl;else \/\/判断如果a小于b,屏幕打印字符...
C++编程:输入三个整数,并按大小顺序输出
C++编程中的一个常见任务是处理整数的排序。当需要输入三个整数a、b和c,然后按从小到大的顺序输出时,可以使用以下逻辑来实现:首先,比较a和b,如果a小于b(ab成立),则判断b和c的大小。如果b大于c(bc成立),说明c是当前最小值,b是中间值,a是最大值。否则,如果a大于c(ac成立),则b是...
用c++编程 输入两个正整数a,n,求a的n次方 谢谢!!
{ int a,n,num=1;\/\/定义变量 cout<<"请输入a和n:"<<endl;\/\/输出提示 cin>>a>>n;\/\/输入a和n int i=1;\/\/定义变量,用于控制循环次数 while(i<=n)\/\/循环条件为i小于等于n时 { num=num*a;\/\/每次循环都乘一次a i++;\/\/i加一 } cout<<a<<"的"<<n<<"次方是:"<<num<<...
用英文单词模拟数学计算 用c++作
题目很简单。。。财富值到100,就帮你做了
如何用c++算法计算出所有平方数的和呢?
小于100的正整数,任意两个之和的最小值是1+2=3,最大值99+100=199;对应的平方数范围,最小是2^2=4,最大是14^2=196。没有直接推导的方式,并且p个数的组合不是唯一的。因此,可以借助编程,按照一定的规则来进行筛选,选出尽可能多的数,即可求得p。算法设计:从分布规律看,平方数越大...
求C++写的高精度整除程序!
一种思路。首先是大数的表达。利用数组或链表,按照10000(或其他的值,只要保证小于你使用类型的二次根就行)为一位,保存。然后是大数的加减法和乘法(除法会用到)。这个利用竖式计算法就可以了。至于商的计算,可以考虑3\/2取1。什么意思,就是仅计算被除数的前三位与除数的前两位的商,然后仅取...