永发信息网

C语言 从键盘输入一个简单的数学表达式,计算并显示该表达式的值 求算法和程序

答案:2  悬赏:0  手机版
解决时间 2021-03-05 22:39
C语言 从键盘输入一个简单的数学表达式,计算并显示该表达式的值 求算法和程序
最佳答案
我理解的简单的数学表达式:纯数字+运算符+纯数字+(回车)而且这里的运算符指 +,-,*,/ 四种之一,纯数字是指整数如下:#include #define NUMSIZE 10 //操作数长度int ch_to_num(char a[]); //多位数字符到数值的转换void main(){char var1[NUMSIZE+1]; //存放第一个操作数字符串,最后一位存放结束符'\0'char var2[NUMSIZE+1]; //存放第二个操作数字符串,最后一位存放结束符'\0'char var_op; //存放操作数字符bool flag1 = false; //用来标记是否已经输入第一个操作数字符串bool flag2 = false; //用来标记是否已经输入第二个操作数字符串bool flag_op = false; //用来标记是否已经输入操作符int num1; //存放第一个操作数值int num2; //存放第二个操作数值double result0; //存放运算结果char current_char;int i = 0;printf(请输入简单表达式!\n);scanf(%c,¤t_char);while (current_char >= '0' && current_char 0 ){//第一个操作数合格flag1 = true; //保存好第一个操作数,改变标记var1[i] = '\0'; //加入结束符}else{printf(输入格式有错!);return;}if (current_char =='+'||current_char =='-'||current_char =='*'||current_char =='/'){//操作符为加减乘除,合格var_op = current_char; //保存操作符flag_op = true; //改变标记符}else{printf(输入格式有错!);return;}scanf(%c,¤t_char);i = 0;while (current_char >= '0' && current_char 0 ){//第二个操作数合格flag2 = true; //保存好第二个操作数,改变标记var2[i] = '\0'; //加入结束符}else{printf(输入格式有错!);return;}//计算:num1 = ch_to_num(var1);num2 = ch_to_num(var2);switch(var_op){case '+' :result0 = num1 + num2;printf(\n%d+%d=%f\n,num1,num2,result0);break;case '-' :result0 = num1 - num2;printf(\n%d-%d=%f\n,num1,num2,result0);break;case '*' :
全部回答
对的,就是这个意思
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
高考英语129分在全省排名多少2017年
华福钢构工程部地址有知道的么?有点事想过去
如何在路由器上设置禁止别人用我的无线网玩LO
你感觉过去的人民公社好,还是现在的单干户好
2029年会不会有小行星撞击地球
车绅士汽车美容装饰在什么地方啊,我要过去处
笑话段子,父亲给在外打工的儿子要钱的信,家
凤尾鱼幼崽怎么养
在国际期货市场上,( )是目前占据主导地位的
染发十多天怎么头上和身体上还是痒
罗发记烧腊快餐店(第三分店)地址在什么地方,
学校逼着理发,我们不想理,已经理的很短了,
金俞臭氧化油抗菌剂用可以变大乳房?
josh vietti的专辑音乐,要全的......求高人
两人入室抢劫5000元会判多少年
推荐资讯
标致307和嘉年华哪个好
下列关于病毒的叙述中,正确的是A. 烟草花叶
关于进入大庆昆仑银行的问题
从河北正定机场的高铁站到北京西有火车经过吗
毛桃有什么营养
红牛味精加蜂蜜有什么作用
亮化图纸中t5/2*21w/ac220v/白色是啥意思
联想笔记本e42怎么进入bios设置
狗熊为什么叫狗熊
唐代上面是什么朝代
毛毛虫结茧到破茧要多久?
倪家庄村地址在哪,我要去那里办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?