程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> 有關C語言的語法問題。

有關C語言的語法問題。

編輯:C語言問答

有關C語言的語法問題。

#include<stdio.h>
#include<math.h>
void main()
{
 float a,b,c,d,x1,x2,x;
 printf("請分別輸入一元二次方程的二次項,一次項,常數項");
 scanf("%f,%f,%f",&a,&b,&c);
 d=b*b-4*a*c;
 if(d>0)
 {
  x1=(-b+sqrt(d))/(2*a);
     x2=(-b-sqrt(d))/(2*a);
  pritnf("x1=%f,x2=%f",x1,x2);
 }
 else if(d==0)
 {
  x=-b/(2*a);
  printf("x=%f",x);
 }
 else(d<0)
 {
  printf("無解");
 }
 getchar();
}

 

這個程序錯在哪些地方?

 

最佳回答:

scanf句應該寫為scanf("%f%f%f",&a, &b, &c);
補充:
getchar();沒有錯
補充:
else(d<0)沒有這種寫法
補充:
 float a,b,c,d,x1,x2,x;改為double類型吧  不然會溢出
補充:
給你一個完整代碼,你自己對照一下:
#include<stdio.h>
#include<math.h>
void main()
{
 double a,b,c,d,x1,x2,x;
 printf("請分別輸入一元二次方程的二次項,一次項,常數項");
 scanf("%f%f%f",&a,&b,&c);
 d=b*b-4*a*c;
 if(d>0)
 {
  x1=(-b+sqrt(d))/(2*a);
  x2=(-b-sqrt(d))/(2*a);
  printf("x1=%f,x2=%f",x1,x2);
 }
 else if(d==0)
 {
  x=-b/(2*a);
  printf("x=%f",x);
 }
 else
 {
  printf("無解");
 }
 getchar();
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved