编程设计一个简单的计算器程序,要求用户从键盘输入如下形式的表: 操作数1 运算符op 操作数2然后,计算并输出表的值指定的运算符为: 加(+) 减(-) 乘(*) 除(/)代码如下,所给程序是否存在错误,若有,找出错误所在并改正。#include
intmain(){floatdata1,data2;charop;printf("Pleaseentertheexpression:");scanf("%f%c%f",&data1,&op,&data2);/*%c前有一个空格*/switch(op){case'+':printf("%f+%f=%f\n",data1,data2,data1+data2);break;case'-':printf("%f-%f=%f\n",data1,data2,data1-data2);break;case'*':printf("%f*%f=%f\n",data1,data2,data1*data2);break;case'/':printf("%f/%f=%f\n",data1,data2,data1/data2);break;default:printf("Invalidoperator!\n");}return0;}
A.
第20行语句有错误,改成: if (fabs(data2)<=EPS) printf("Division by zero!\n"); else printf("%d/%d=%d\n", data1, data2, data1/data2); 同时,第1行语句下方应加入 #include #define EPS 1e-6
D.
第20行语句有错误,改成: if (data2=0) printf("Division by zero!\n"); else printf("%d/%d = %d\n", data1, data2, data1/data2);