c语言 用英文单词模拟数学计算读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出.具体的输入输出格式规定如下:输入格式:测试输入包含若干测

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 19:23:29
c语言 用英文单词模拟数学计算读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出.具体的输入输出格式规定如下:输入格式:测试输入包含若干测

c语言 用英文单词模拟数学计算读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出.具体的输入输出格式规定如下:输入格式:测试输入包含若干测
c语言 用英文单词模拟数学计算
读入两个小于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 = 输出样例:threenine zero nine six
希望开头只有#include
#include
最多开头再加个
#include

c语言 用英文单词模拟数学计算读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出.具体的输入输出格式规定如下:输入格式:测试输入包含若干测

自己写的,希望能帮到你,C语言编写,VC编译通过,完全按照给定条件编写:

注意,需严格按照题目给定格式进行输入,如 ”one + three one =“开始不能有空格,每个字符串之间必须有空格:

#include<stdio.h>
#include<string.h>
char dictionary[10][6]={"zero","one","two","three","four","five","six","seven","eight","nine"};
//读取工作完全按照题目要求中给出的格式进行,要求输入序列严格按照格式!
//例:one + eight = 和 one two + three =
int count(char *content)//计算函数,形参为输入的字符串
{
\x09char A1[10],A2[10],oper,B1[10],B2[10];\x09\x09\x09//第一个数的十位、个位、运算符、第二个数的十位、个位
\x09int i;\x09\x09\x09//遍历输入的字符串
\x09int start;\x09\x09//起始位置
\x09int bit[2];\x09\x09//对应的数字,0:第一个数字,1:第二个数字
\x09int result;\x09\x09//存储计算结果
\x09int flag[2]={0,0};\x09\x09\x09\x09\x09\x09\x09\x09//标记两个数的位数,0:1位数,1:两位数,初始化为个位数
\x09for(i=0,start=0;*(content+i)!=' ';i++,start++)  //读取第一个运算符的个位(也可能是十位)
\x09{
\x09\x09A1[start] = *(content+i);
\x09}
\x09A1[start]='\0';
\x09if(*(content+i+1)!='+'&&*(content+i+1)!='-'&&*(content+i+1)!='*'&&*(content+i+1)!='/')//若后边的字母不是'+''-''*''/'符号则说明刚才读的是十位,则继续读取第一个数的个位
\x09{
\x09\x09flag[0] = 1;\x09\x09//第一个数标记为十位数
\x09\x09for(i++,start=0;*(content+i)!=' ';i++,start++) 
\x09\x09{
\x09\x09\x09A2[start] = *(content+i);
\x09\x09}
\x09\x09A2[start]='\0';\x09\x09//最后一个位置赋结束符,下同
\x09}

\x09oper = *(content+i+1);\x09//此时oper读到的一定是运算符(例one three + four =)
\x09i+=3;\x09\x09//跳到运算符后的第一个字母处

\x09for(start=0;*(content+i)!=' ';i++,start++) 
\x09{
\x09\x09B1[start] = *(content+i);
\x09}
\x09B1[start]='\0';
\x09if(*(content+i+1)!='=')\x09\x09//若后边的字母不是‘=’号则说明刚才读的是十位数,则继续读取第二个数的个位
\x09{
\x09\x09flag[1] = 1;\x09//第二个数标记为十位数
\x09\x09for(i++,start=0;*(content+i)!=' ';i++,start++) 
\x09\x09{
\x09\x09\x09B2[start] = *(content+i);
\x09\x09}
\x09\x09B2[start]='\0';
\x09}
\x09
//下面开始转化为对应的数字
\x09if(0==flag[0]&&0==flag[1])//都是一位数的情况
\x09{
\x09\x09for(i=0;i<10;i++)
\x09\x09{
\x09\x09\x09if(!strcmp(dictionary[i],A1)) 
\x09\x09\x09{
\x09\x09\x09\x09bit[0]=i;
\x09\x09\x09}
\x09\x09\x09if(!strcmp(dictionary[i],B1)) 
\x09\x09\x09{
\x09\x09\x09\x09bit[1]=i;
\x09\x09\x09}
\x09\x09}
\x09}
\x09else if(1==flag[0]&&0==flag[1])//一位数和二位数的情况
\x09{
\x09\x09for(i=0;i<10;i++)
\x09\x09{
\x09\x09\x09if(!strcmp(dictionary[i],A1)) 
\x09\x09\x09{
\x09\x09\x09\x09bit[0]=i*10; //第一个数的十位
\x09\x09\x09}
\x09\x09\x09if(!strcmp(dictionary[i],B1)) 
\x09\x09\x09{
\x09\x09\x09\x09bit[1]=i; //第二个数的个位(是一位数,不考虑十位)
\x09\x09\x09}
\x09\x09}

\x09\x09for(i=0;i<10;i++)
\x09\x09{
\x09\x09\x09if(!strcmp(dictionary[i],A2)) 
\x09\x09\x09{
\x09\x09\x09\x09bit[0]+=i;//第一个数再加上个位
\x09\x09\x09}
\x09\x09}
\x09}
\x09else if(0==flag[0]&&1==flag[1])//二位数和一位数的情况
\x09{
\x09\x09for(i=0;i<10;i++)
\x09\x09{
\x09\x09\x09if(!strcmp(dictionary[i],A1)) 
\x09\x09\x09{
\x09\x09\x09\x09bit[0]=i; //第一个数的个位(是一位数,不考虑十位)
\x09\x09\x09}
\x09\x09\x09if(!strcmp(dictionary[i],B1)) 
\x09\x09\x09{
\x09\x09\x09\x09bit[1]=i*10; //第二个数的十位
\x09\x09\x09}
\x09\x09}
\x09\x09for(i=0;i<10;i++)
\x09\x09{
\x09\x09\x09if(!strcmp(dictionary[i],B2)) 
\x09\x09\x09{
\x09\x09\x09\x09bit[1]+=i;//第二个数再加上个位
\x09\x09\x09}
\x09\x09}
\x09}
\x09else if(1==flag[0]&&1==flag[1])//都是二位数的情况
\x09{
\x09\x09for(i=0;i<10;i++)
\x09\x09{
\x09\x09\x09if(!strcmp(dictionary[i],A1)) 
\x09\x09\x09{
\x09\x09\x09\x09bit[0]=i*10;
\x09\x09\x09}
\x09\x09\x09if(!strcmp(dictionary[i],B1)) 
\x09\x09\x09{
\x09\x09\x09\x09bit[1]=i*10;
\x09\x09\x09}
\x09\x09}

\x09\x09for(i=0;i<10;i++)
\x09\x09{
\x09\x09\x09if(!strcmp(dictionary[i],A2)) 
\x09\x09\x09{
\x09\x09\x09\x09bit[0]+=i;
\x09\x09\x09}
\x09\x09\x09if(!strcmp(dictionary[i],B2)) 
\x09\x09\x09{
\x09\x09\x09\x09bit[1]+=i;
\x09\x09\x09}
\x09\x09}
\x09}
\x09switch(oper)//检查运算符,进行计算
\x09{
\x09\x09case '+':result = bit[0] + bit[1];break;
\x09\x09case '-':
\x09\x09\x09result = bit[0] - bit[1];
\x09\x09\x09if(result<0)
\x09\x09\x09{
\x09\x09\x09\x09result = - result; //这里处理了一下减法出负数的情况,直接取正的了
\x09\x09\x09}break;
\x09\x09case '*':result = bit[0] * bit[1];break;
\x09\x09case '/':result = bit[0] / bit[1];break;
\x09\x09default:result = bit[0] + bit[1];\x09//默认为加
\x09}
\x09return result;
}

int isZero(char *str)//检查输入是否为两个zero 
{
\x09int i;
\x09char t[2][5];
\x09for(i=0;i<4;i++)
\x09{
\x09\x09t[0][i] = *(str+i);
\x09\x09t[1][i] = *(str+i+7);
\x09}
\x09t[0][i]=t[1][i]='\0';
\x09if(!strcmp(t[0],"zero")&&!strcmp(t[1],"zero")) return 1;
\x09else return 0;
}

int main()
{
\x09char A[20][20];//输入的字符串,设置为最多20个,可以改
\x09int answer;//运算存储结果
\x09int num = -1,i;
\x09char a='+';
\x09do
\x09{
\x09\x09gets(A[++num]);
\x09}while(!isZero(A[num]));//输入的两个数为zero则结束输入
\x09for(i=0;i<num;i++)
\x09{
\x09\x09answer = count(A[i]);
\x09\x09if(0==answer/10) printf("%s\n",dictionary[answer]);
\x09\x09else if(0==answer/100) printf("%s %s\n",dictionary[answer/10],dictionary[answer%10]);
\x09\x09else printf("%s %s %s\n",dictionary[answer/100],dictionary[answer/10%10],dictionary[answer%10]);
\x09}
\x09\x09return 0;
}

c语言 用英文单词模拟数学计算读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出.具体的输入输出格式规定如下:输入格式:测试输入包含若干测 C语言课程设计,打上注释!再给个流程图.给150分啊题目是这个:用英文单词模拟数学计算:读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出.具体 用英文单词模拟数学计算(输出要用英文单词)谢谢读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出.具体的输入输出格式规定如下:输入格式: C++程序 用英文单词模拟数学计算1.读入两个小于100的正整数A和B,能够进行A+B,A-B,A*B,A/B计算.需要注意的是:A和B的每一位数字对应的英文单词给出.不允许负数出现.2.输入格式:测试输入包含若 如何在c++环境下实现用英文单词模拟数学计算? 是道C语言编程题,读入20个整数,统计非负数个数,并计算非负数之和用数组 C语言:请编写一个程序,从键盘读入两个整数a和n,计算并输出a+aa+aaa+...+aa...a(n个a)的值.非常感谢.急用! 用英文字母模拟数学计算的求解要求用C++语言,并且计算的是任意两个整数的和.参考基本要求 百度文库上那个只是50以内的,只是基本要求. 【C语言】下面程序的功能是:读入一个整数m,计算如下公式的值:下面程序的功能是:读入一个整数m,计算如下公式的值:我的程序哪里错了. c语言 读入10个数,计算它们的和、积、平方和及和的平方VC6.0 读入10个数,计算它们的和、积、平方和及和的平方 模拟一个小软件,实现计算任意图形(如长方形,正方形,圆形)的面积.-_-||大学计算机c语言编程问题. 用英文单词模拟数学计算我也要做这道题.但你给的答案有些地方不是很明白,不知道怎么把最后的输出结果改成用英文单词输出.能帮我修改下吗? C语言 a(n)=a(n-3)+a(n-1)读入整数n,计算并输出数列的第n项. Java 读入两个小于100的正整数A和B,计算A+B的值并输出.读入两个小于100的正整数A和B,计算A+B的值并输出.需要注意的是:整数A和B的每一位数字由对应的英文单词给出.如整数34表示为three four.impor C语言常用的英文单词 C语言求解!跪谢! 如何计算两个矩阵的乘法?问题描述从标准输入读入一个m行k列的整数矩阵a和一个k行n列的整数矩阵b(1 < m, k, n < 200),在标准输出上输出这两个矩阵的乘积 输入形式从标准输入 写一个程序,由大至小依次输出顺序读入的三个整数a,b,c的值.是用C语言 用c语言编程,要求从键盘读入一个由单词和空格组成的英文长句,分解其中单词,并按照字典顺序排列输出