#14830: 自行輸入與結果不同@@


lewis8908@gmail.com (李承翰)

學校 : 不指定學校
編號 : 82119
來源 : []
最後登入時間 :
2018-08-05 23:01:13
b860. 獨角蟲進化計算器 -- 板橋高中教學題 | From: [219.69.93.156] | 發表日期 : 2018-08-08 15:45

#include<stdio.h>
#include<math.h>
int main(void)
{
 int rootnum;
 int a,b,c;//方程式的系數
 int x1,x2;//根
 while(scanf("%d%d%d",&a,&b,&c)!=EOF){
  rootnum=(b*b-4*a*c);
  if(rootnum>0){
    if((-b+sqrt(b*b-4*a*c))/2*a>(-b-sqrt(b*b-4*a*c))/2*a){
      x1=(-b+sqrt(b*b-4*a*c))/2*a;
      x2=(-b-sqrt(b*b-4*a*c))/2*a;  
      printf("Two different roots x1=%d , x2=%d\n",x1,x2);               
    }
    else{
         x1=(-b-sqrt(b*b-4*a*c))/2*a;
         x2=(-b+sqrt(b*b-4*a*c))/2*a;
         printf("Two different roots x1=%d , x2=%d\n",x1,x2);  
         }   
   }
  else if(rootnum<0) 
     printf("No real root\n");
  else         
     printf("Two same roots x=%d\n",-b/2*a);                    
  }
 return 0; 
}

程式碼如上,我又遇到自行測試與最終結果不同的情況了...

 

 
#14832: Re:自行輸入與結果不同@@


lewis8908@gmail.com (李承翰)

學校 : 不指定學校
編號 : 82119
來源 : []
最後登入時間 :
2018-08-05 23:01:13
b860. 獨角蟲進化計算器 -- 板橋高中教學題 | From: [219.69.93.156] | 發表日期 : 2018-08-08 19:45

#include
#include
int main(void)
{
 int rootnum;
 int a,b,c;//方程式的系數
 int x1,x2;//根
 while(scanf("%d%d%d",&a,&b,&c)!=EOF){
  rootnum=(b*b-4*a*c);
  if(rootnum>0){
    if((-b+sqrt(b*b-4*a*c))/2*a>(-b-sqrt(b*b-4*a*c))/2*a){
      x1=(-b+sqrt(b*b-4*a*c))/2*a;
      x2=(-b-sqrt(b*b-4*a*c))/2*a;  
      printf("Two different roots x1=%d , x2=%d\n",x1,x2);               
    }
    else{
         x1=(-b-sqrt(b*b-4*a*c))/2*a;
         x2=(-b+sqrt(b*b-4*a*c))/2*a;
         printf("Two different roots x1=%d , x2=%d\n",x1,x2);  
         }   
   }
  else if(rootnum<0) 
     printf("No real root\n");
  else         
     printf("Two same roots x=%d\n",-b/2*a);                    
  }
 return 0; 
}

程式碼如上,我又遇到自行測試與最終結果不同的情況了...

 


抱歉我打錯題目了  正確的題目是a006

 
#14833: Re:自行輸入與結果不同@@


inversion (「我們所認識的可符香是個像天使的好女孩」之葉林 *Cries...)

學校 : 國立清華大學
編號 : 43537
來源 : [49.159.6.107]
最後登入時間 :
2022-05-28 19:29:12
b860. 獨角蟲進化計算器 -- 板橋高中教學題 | From: [49.158.83.43] | 發表日期 : 2018-08-08 20:57

#include
#include
int main(void)
{
 int rootnum;
 int a,b,c;//方程式的系數
 int x1,x2;//根
 while(scanf("%d%d%d",&a,&b,&c)!=EOF){
  rootnum=(b*b-4*a*c);
  if(rootnum>0){
    if((-b+sqrt(b*b-4*a*c))/2*a>(-b-sqrt(b*b-4*a*c))/2*a){
      x1=(-b+sqrt(b*b-4*a*c))/2*a;
      x2=(-b-sqrt(b*b-4*a*c))/2*a;  
      printf("Two different roots x1=%d , x2=%d\n",x1,x2);               
    }
    else{
         x1=(-b-sqrt(b*b-4*a*c))/2*a;
         x2=(-b+sqrt(b*b-4*a*c))/2*a;
         printf("Two different roots x1=%d , x2=%d\n",x1,x2);  
         }   
   }
  else if(rootnum<0) 
     printf("No real root\n");
  else         
     printf("Two same roots x=%d\n",-b/2*a);                    
  }
 return 0; 
}

程式碼如上,我又遇到自行測試與最終結果不同的情況了...

 


抱歉我打錯題目了  正確的題目是a006

if((-b+sqrt(b*b-4*a*c))/2*a>(-b-sqrt(b*b-4*a*c))/2*a){
      x1=(-b+sqrt(b*b-4*a*c))/2*a;
      x2=(-b-sqrt(b*b-4*a*c))/2*a;  
      printf("Two different roots x1=%d , x2=%d\n",x1,x2);               
    }


2*a?應該要是 (2 * a) 吧?這樣會是前面的結果先除以2,再乘以a喔。

 
ZeroJudge Forum