C++程序 用英文单词模拟数学计算1.读入两个小于100的正整数A和B,能够进行A+B,A-B,A*B,A/B计算.需要注意的是:A和B的每一位数字对应的英文单词给出.不允许负数出现.2.输入格式:测试输入包含若
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/06 12:47:34
![C++程序 用英文单词模拟数学计算1.读入两个小于100的正整数A和B,能够进行A+B,A-B,A*B,A/B计算.需要注意的是:A和B的每一位数字对应的英文单词给出.不允许负数出现.2.输入格式:测试输入包含若](/uploads/image/z/2929887-63-7.jpg?t=C%2B%2B%E7%A8%8B%E5%BA%8F+%E7%94%A8%E8%8B%B1%E6%96%87%E5%8D%95%E8%AF%8D%E6%A8%A1%E6%8B%9F%E6%95%B0%E5%AD%A6%E8%AE%A1%E7%AE%971.%E8%AF%BB%E5%85%A5%E4%B8%A4%E4%B8%AA%E5%B0%8F%E4%BA%8E100%E7%9A%84%E6%AD%A3%E6%95%B4%E6%95%B0A%E5%92%8CB%2C%E8%83%BD%E5%A4%9F%E8%BF%9B%E8%A1%8CA%2BB%2CA-B%2CA%2AB%2CA%2FB%E8%AE%A1%E7%AE%97.%E9%9C%80%E8%A6%81%E6%B3%A8%E6%84%8F%E7%9A%84%E6%98%AF%EF%BC%9AA%E5%92%8CB%E7%9A%84%E6%AF%8F%E4%B8%80%E4%BD%8D%E6%95%B0%E5%AD%97%E5%AF%B9%E5%BA%94%E7%9A%84%E8%8B%B1%E6%96%87%E5%8D%95%E8%AF%8D%E7%BB%99%E5%87%BA.%E4%B8%8D%E5%85%81%E8%AE%B8%E8%B4%9F%E6%95%B0%E5%87%BA%E7%8E%B0.2.%E8%BE%93%E5%85%A5%E6%A0%BC%E5%BC%8F%EF%BC%9A%E6%B5%8B%E8%AF%95%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%AB%E8%8B%A5)
C++程序 用英文单词模拟数学计算1.读入两个小于100的正整数A和B,能够进行A+B,A-B,A*B,A/B计算.需要注意的是:A和B的每一位数字对应的英文单词给出.不允许负数出现.2.输入格式:测试输入包含若
C++程序 用英文单词模拟数学计算
1.读入两个小于100的正整数A和B,能够进行A+B,A-B,A*B,A/B计算.需要注意的是:A和B的每一位数字对应的英文单词给出.不允许负数出现.
2.输入格式:测试输入包含若干测试用例,每个测试用例占一行,格式为“A + B =”,相邻两字符串有一个空格间隔,当A和B同时为zero时输入结束,相应的结果不要输出.
3.输出格式:对每个测试用例输出1行,即A+B,或A-B,或A*B 或A/B的值.
输入样例:
one + two =
five six - three four =
seven * nine =
zero + zero =
输出样例:
three
two two
six three
C++程序 用英文单词模拟数学计算1.读入两个小于100的正整数A和B,能够进行A+B,A-B,A*B,A/B计算.需要注意的是:A和B的每一位数字对应的英文单词给出.不允许负数出现.2.输入格式:测试输入包含若
除法方面没做不整除处理以及除数是0的情况.自己修改下.如果有要求的话.
#include<iostream>
#include<string>
using namespace std;
string num[]={"zero","one","two","three","four","five","six","seven","eight","nine"};
void output(int k)
{
if(k==0) return ;
output(k/10);
cout<<num[k%10]<<" ";
}
int main()
{
do
{
int a[2]={0};
int k=0;
int t;
string tmp;
while(cin>>tmp)
{
if(tmp=="=") break;
if(tmp=="+" || tmp=="-" || tmp=="*"|| tmp=="/")
{
if(tmp=="+") t=0;
if(tmp=="-") t=1;
if(tmp=="*") t=2;
if(tmp=="/") t=3;
k++;
}
else
{
int i;
for(i=0;;i++) { if(num[i]==tmp) break; }
a[k]=a[k]*10+ i;
}
}
if(a[0]==0&&a[1]==0) break;
if(t==0) k=a[0]+a[1];
if(t==1) k=a[0]-a[1];
if(t==2) k=a[0]*a[1];
if(t==3) k=a[0]/a[1];
if(k==0) cout<<"zero"<<endl;
else output(k);
}while(true);
return 0;
}