快乐学习 一个网站喵查铺子(catpuzi.com)全搞定~

编程设计一个简单的计算器程序,要求用户从键盘输入如下形式的表达式:        操作数1    运算符op    操作数2然后,计算并输出表达式的值指定的运算符为:    加(+)    减(-)    乘(*)    除(/)代码如下,所给程序是否存在错误,若有,找出错误所在并改正#include  int main() {          float    data1, data2;                      char   op;          printf("Please enter the expression:");          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("Invalid operator!\n");          }         return 0; }

中国大学MOOC答案 数据帝 2024-04-09 扫描二维码

A、第20行语句有错误,改成:if (fabs(data2)<=EPS) printf("Division by zero!\n");else  printf("%f/%f = %f\n", data1, data2, data1/data2);同时,第1行语句下方应加入#include  #define   EPS 1e-6
B、default分支缺少break语句
C、没有错误
D、第20行语句有错误,改成:if (data2=0) printf(“Division by zero!\n”);else  printf(“%f/%f = %f\n”, data1, data2, data1/data2);
喵查答案:第20行语句有错误,改成:if (fabs(data2)<=EPS) printf("Division by zero!\n");else  printf("%f/%f = %f\n", data1, data2, data1/data2);同时,第1行语句下方应加入#include  #define   EPS 1e-6

喜欢 (0)
关于作者: