#36737: 已經80%了,但還是不懂問題出在哪,求解


aa0979036765@gmail.com (瘋狗)

學校 : 不指定學校
編號 : 225874
來源 : [140.114.222.45]
最後登入時間 :
2023-11-07 23:22:42
a006. 一元二次方程式 | From: [180.217.196.59] | 發表日期 : 2023-08-05 01:10

#include<stdio.h>
#include<math.h>
int main()
{
    int a,b,c,x1,x2;
    scanf("%d%d%d",&a,&b,&c);
    int D = b*b -4*a*c;
    if(D<0){
        printf("No real root\n");
    }else{
        x1 = (-b + sqrt(D)) /2*a;
        x2 = (-b - sqrt(D)) /2*a;
        if(D == 0){
            printf("Two same roots x=%d\n",x1);
        }else {
            int t;
            if(x1 < x2){
                t = x1;
                x1 = x2;
                x2 = t;
            }
            printf("Two different roots x1=%d , x2=%d\n",x1,x2);
        }
    }
    return 0;
}

 
#36743: Re: 已經80%了,但還是不懂問題出在哪,求解


samlin961112@gmail.com (林哲甫)

學校 : 新北市私立南山高級中學
編號 : 220506
來源 : [219.70.213.92]
最後登入時間 :
2024-10-21 22:34:09
a006. 一元二次方程式 | From: [219.70.213.92] | 發表日期 : 2023-08-05 14:10

#include
#include
int main()
{
    int a,b,c,x1,x2;
    scanf("%d%d%d",&a,&b,&c);
    int D = b*b -4*a*c;
    if(D<0){
        printf("No real root\n");
    }else{
        x1 = (-b + sqrt(D)) /2*a;
        x2 = (-b - sqrt(D)) /2*a;
        if(D == 0){
            printf("Two same roots x=%d\n",x1);
        }else {
            int t;
            if(x1 < x2){
                t = x1;
                x1 = x2;
                x2 = t;
            }
            printf("Two different roots x1=%d , x2=%d\n",x1,x2);
        }
    }
    return 0;
}

x1 = (-b + sqrt(D)) /(2*a);
x2 = (-b - sqrt(D)) /(2*a);
應概要加括號

不然就變成是最後才在成一個a

 
ZeroJudge Forum