关闭
Deadmau5_ 2022-09-04 02:02 采纳率: 50%
浏览 36
已结题

编程出现问题,如何解决?

刚学编程,想写个能运算四则运算的程序,为啥提示我出现严重错误啊
#include<stdio.h>
int main() {
double a, b, c, d,x,y,t;
char op,tmp;
printf("\n请输入第一个复数的实部和虚部:");
scanf_s("%lf %lf", &a, &b);
printf("\n请输入运算符:");
scanf_s("%c %c",&tmp,&op );
printf("\n请输入第二个复数的实部和虚部:");
scanf_s("%lf %lf", &c, &d);
switch (op) {
case'+':
x = a + b;
y = c + d;
break;
case'-':
x = a - b;
y = c - d;
break;
case'*':
x = a * c - b * d;
y = b * c + a * d;
break;
case'/':
t = c * c - d * d;
if (t==0) {
printf("分母不为零");
return 0;
}
else
x = (a * c + b * d) / (c * c - d * d);
y = (b * c - a * d) / (c * c - d * d);
break;
default:
printf("invalidation operator\n");
return 0;
}
printf("复数的运算的结果为:%lf+%lfi",x,y);
return 0;
}

img

展开全部

  • 写回答

2条回答 默认 最新

  • 亖夕 Python领域新星创作者 2022-09-04 02:22
    关注

    使用fflush(stdin);来避免读入换行符是比较稳定的,使用%c来读入容易出错

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    亖夕 2022-09-04 02:22

    #include<stdio.h>
    int main() {
        double a, b, c, d,x,y,t;
        char op,tmp;
        printf("\n请输入第一个复数的实部和虚部:");
        scanf_s("%lf %lf", &a, &b);
        printf("\n请输入运算符:");
        fflush(stdin);
        scanf_s("%c",&op );
        printf("\n请输入第二个复数的实部和虚部:");
        fflush(stdin);
        scanf_s("%lf %lf", &c, &d);
        switch (op) {
            case'+':
                x = a + b;
                y = c + d;
                break;
            case'-':
                x = a - b;
                y = c - d;
                break;
            case'*':
                x = a * c - b * d;
                y = b * c + a * d;
                break;
            case'/':
                t = c * c - d * d;
                if (t==0) {
                    printf("分母不为零");
                    return 0;
                }
                else
                    x = (a * c + b * d) / (c * c - d * d);
                y = (b * c - a * d) / (c * c - d * d);
                break;
            default:
                printf("invalidation operator\n");
                return 0;
        }
        printf("复数的运算的结果为:%lf+%lfi",x,y);
        return 0;
    }
    
    

    回复
    亖夕 2022-09-04 07:08

    有用请点个采纳🤠

    1
    回复
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 9月18日
  • 已采纳回答 9月11日
  • 创建了问题 9月4日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部