C语言 从键盘输入一个简单的数学表达式,计算并显示该表达式的值 求算法和程序
答案:2 悬赏:0 手机版
解决时间 2021-03-05 22:39
- 提问者网友:蓝莓格格巫
- 2021-03-05 11:10
C语言 从键盘输入一个简单的数学表达式,计算并显示该表达式的值 求算法和程序
最佳答案
- 五星知识达人网友:佘樂
- 2021-03-05 11:28
我理解的简单的数学表达式:纯数字+运算符+纯数字+(回车)而且这里的运算符指 +,-,*,/ 四种之一,纯数字是指整数如下:#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 '*' :
全部回答
- 1楼网友:酒者煙囻
- 2021-03-05 12:33
对的,就是这个意思
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯