#include <stdio.h>

int main() { char x; double a, b, n; char c;

start: printf("请输入表达式:\n"); scanf("%lf%c%lf", &a, &c, &b);

if (c == '+') {
    n = a + b;
} else if (c == '-') {
    n = a - b;
} else if (c == '*') {
    n = a * b;
} else if (c == '/') {
    if (b == 0) {
        printf("除数不能为0!\n");
        goto start;
    }
    n = a / b;
} else {
    printf("无效的操作符!\n");
    goto start;
}

printf("结果:%lf\n", n);

printf("Do you want to continue(Y|N or y|n)? ");
scanf(" %c", &x);

if (x == 'Y' || x == 'y') {
    goto start;
} else {
    goto out;
}

out: return 0; }

修改后的代码修正了以下问题:

  1. 修正了变量名和数据类型。
  2. 修正了输入表达式时的错误,确保正确获取操作数和操作符。
  3. 添加了对除数为0的判断,避免出现除以0的错误。
  4. 修改了输出格式,使结果显示更清晰。
  5. 修改了判断字符是否继续的逻辑,确保输入合法。

现在,代码将根据输入的表达式计算结果,并允许用户选择是否继续运行。

标签: 常规


原文地址: https://gggwd.com/t/topic/bM4I 著作权归作者所有。请勿转载和采集!