鱼C论坛

 找回密码
 立即注册
查看: 1604|回复: 15

[已解决]求帮忙看下这是咋回事

[复制链接]
发表于 2020-10-3 15:42:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

用int到if的时候出现这个
Process exited after 15.56 seconds with return value 3221225477
用void就报错
 
void main()

{   
    printf("-------------------程序开始----------------------\n");
    printf("若解一元二次方程请输入1\n若解二元一次方程请输入0\n");
    int num0;
    scanf("%d\n",num0);
    if(num0==1)
    {
            printf("---------------------------------------------\n");
        printf("解一元二次方程:\n");
        float num1,num2,num3;
        printf("请分别输入标准方程的二次项的系数、一次项的系数和常数项:\n");
        scanf("%f%f%f",&num1,&num2,&num3);
        float x;
        float dulta;
        dulta=num2*num2-4*num1*num3;
        if(dulta<0)
        {
        printf("此方程无实数解!\n");
         }
        else if(dulta==0)
        {
            x=num2/(-2*num1);
            printf("此方程有两个相同的解x=");
            printf("%.2f\n",x);
        }
        else
        {
            float a,b;
            a=(-num2+sqrt(dulta))/2*num1;
            b=(-num2-sqrt(dulta))/2*num1;
            printf("此方程的一个解x=%.2f\n",a);
            printf("此方程的另一个解x=%.2f\n",b);
      }
    }
    else
                    printf("---------------------------------------------\n");
            printf("解二元一次方程:\n");
            float a,b,c,d,e,f;
            printf("请把方程改写为ax+by+c=0的形式!\n");
            printf("请输入第一个方程的系数:\n");
            scanf("%f%f%f",&a,&b,&c);
            printf("请输入第二个方程的系数:\n");
            scanf("%f%f%f",&d,&e,&f);
            float x,y;
           if(a==0&&d!=0)
           {
            y=-c/b;
            x=-f+c*e/b;
            printf("%f\n",x);
            printf("%f\n",y);
           }
           else if (a==0&&b==0)
           {
           printf("此方程组无解!");
           }
           else if(d==0&&e==0)
           {
           printf("此方程组无解!");
           }
           else
            y=(c*d-a*f)/(a*e-d*b);
            x=(-b*y-c)/a;
            printf("方程组的解为:\nx=%f",x);  
} 
最佳答案
2020-10-3 15:56:38
缺少头文件stdio和math
最重要的是第八行,应该是scanf("%d",&num0)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-3 15:56:38 | 显示全部楼层    本楼为最佳答案   
缺少头文件stdio和math
最重要的是第八行,应该是scanf("%d",&num0)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-3 16:03:26 | 显示全部楼层
本帖最后由 葛明佳 于 2020-10-3 16:30 编辑
巴巴鲁 发表于 2020-10-3 15:56
缺少头文件stdio和math
最重要的是第八行,应该是scanf("%d",&num0)


头文件这两个有。。没复制上
原因确实是第八行,谢谢
还有个问题。。
我的那个if和else貌似出问题了。。
两个if都被依次执行了。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-3 16:33:51 | 显示全部楼层
葛明佳 发表于 2020-10-3 16:03
头文件这两个有。。没复制上
原因确实是第八行,谢谢
还有个问题。。

哪一个if-else
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-3 16:38:38 | 显示全部楼层
我也经常犯这个错误哈哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-3 17:00:05 From FishC Mobile | 显示全部楼层
巴巴鲁 发表于 2020-10-3 16:33
哪一个if-else

第9行和第38行那个,不管怎么样,都会自动运行下面那个else里的内容。。
而且一开始那个输入也有问题。。
这是输出的:
-----------程序开始----------------
若解一元二次方程请输入1
若解二元一次方程请输入0
1
1      //这里应该在下面那个之后输入,但是却让在这里输入了。
解一元二次方程:
请分别输入标准方程的二次项的系数、一次 项的系数和常数项:
2
-1
此方程的一个解x=0.41
此方程的另一个解x=-2.41
请把方程改写为ax+by+c=0的形式!//这应该是38行else里面的内容,但是也被一块运行了。
请输入第一个方程的系数:
12
12
13
请输入第二个方程的系数:
15
16
18
方程组的解为:
x=0.666667
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-3 17:33:19 | 显示全部楼层
葛明佳 发表于 2020-10-3 17:00
第9行和第38行那个,不管怎么样,都会自动运行下面那个else里的内容。。
而且一开始那个输入也有问题。 ...

38行else那个没有{},只会执行他下面那一句,后面不管是什么都会执行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-3 17:48:15 From FishC Mobile | 显示全部楼层
巴巴鲁 发表于 2020-10-3 17:33
38行else那个没有{},只会执行他下面那一句,后面不管是什么都会执行

第11行和第12行的为啥不执行啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-3 17:49:25 From FishC Mobile | 显示全部楼层
巴巴鲁 发表于 2020-10-3 17:33
38行else那个没有{},只会执行他下面那一句,后面不管是什么都会执行

确实是
加上括号就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-3 18:00:32 | 显示全部楼层
葛明佳 发表于 2020-10-3 17:48
第11行和第12行的为啥不执行啊

输入1才会执行啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-3 21:32:03 From FishC Mobile | 显示全部楼层
巴巴鲁 发表于 2020-10-3 18:00
输入1才会执行啊

输入了也不行。。得输两次
而且第二次识别为下面scanf里面的。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-3 21:49:38 | 显示全部楼层
葛明佳 发表于 2020-10-3 21:32
输入了也不行。。得输两次
而且第二次识别为下面scanf里面的。。

我的不是啊,刚开始输1就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-4 08:56:48 From FishC Mobile | 显示全部楼层
巴巴鲁 发表于 2020-10-3 21:49
我的不是啊,刚开始输1就好了

难不成是我编译器的问题
我用vs试试。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-4 08:57:56 From FishC Mobile | 显示全部楼层
巴巴鲁 发表于 2020-10-3 21:49
我的不是啊,刚开始输1就好了

诶对。。
前面用void main()的话为啥dev c++会报错啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-4 09:08:50 | 显示全部楼层
葛明佳 发表于 2020-10-4 08:57
诶对。。
前面用void main()的话为啥dev c++会报错啊

不可能
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-4 09:09:26 | 显示全部楼层
葛明佳 发表于 2020-10-4 08:56
难不成是我编译器的问题
我用vs试试。。

我也是dev
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 23:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表