重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
首先你已經很清楚的說明了你這個程序是用C語言寫二次函數的,而當a=0時,就不是二次函數了,應該按照一次函數來進行計算,否則 一個數除以0就沒有意義了.~
為沈丘等地區用戶提供了全套網頁設計制作服務,及沈丘網站建設行業解決方案。主營業務為成都做網站、網站建設、沈丘網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
#include stdio.h
#include stdlib.h
#include math.h
int main()
{
float a,b,c;
float x1,x2,m;
printf("input number a=:");
scanf("%f",a);
printf("input number b=:");
scanf("%f",b);
printf("input number c=:");
scanf("%f",c);
if(a==0)
printf("一根:%f\n",c*(-1)/b);
else if(a==0b==0)
printf("無意義!");
else
{
m=b*b-4*a*c;
if(m0)
{
printf("兩根\n");
printf("x1=%f\n",(-b+sqrt(m))/(2*a));
printf("x2=%f\n",(-b-sqrt(m))/(2*a));
}
else if(m==0)
printf("x1=x2=%f\n",x1);
}
else
printf("無實根\n");
}
return 0;
}
二次函數的函數值就是y值,如果知道x的值,就將x的值代入解析式中,就可以求出函數值。
舉例說明:給定二次函數y=x2+1,求x=2的時候的函數值。
(1)將x=2代入y=x2+1,得到y=22+1=4+1=5。
(2)當x=2時,y的函數值等于5。
二次函數的基本表示形式為y=ax2+bx+c(a≠0)。二次函數最高次必須為二次, 二次函數的圖像是一條對稱軸與y軸平行或重合于y軸的拋物線。
擴展資料:
ax2+bx+c=0(a≠0),根的情況:
(1)b^2-4ac0,ax^2+bx+c=0有兩個不相等的實根。
(2)b^2-4ac0,ax^2+bx+c=0無實根。
(3)b^2-4ac=0,ax^2+bx+c=0有兩個相等的實根。
y=ax2+bx+c(a≠0)對稱軸x=-b/2a
y=ax2+bx+c(a≠0)頂點(-b/2a,(4ac-b^2)/4a)
參考資料:百度百科-二次函數
y=ax^2+bx+c
以上面為例:a=1 b=4 c=0
極值=(4ac-b^2)/4a
double a=1, b=4, c=0;
double jizhi;
jizhi=(4*a*c-b*b)/(4*a);
你的
else if(b*b-4*a*c==0)
x1=x2=-b/2*a; printf("%.2f,%.2f",x1,x2);
和
else $=sqrt(b*b-4*a*c)/(2*a);
x1=-b+$;
x2=-b-$;
printf("x1=%.2f\n x2=%.2f\n",x1,x2);
兩句加上大括號就行了。。。
if只能執行到分號以前,所以加入大括號。另外x1=x2=-b/2*a MS沒加小括號
else if(b*b-4*a*c==0)
{x1=x2=-b/(2*a); printf("%.2f,%.2f",x1,x2);}
else $=sqrt(b*b-4*a*c)/(2*a);
{ x1=-b+$;
x2=-b-$;
printf("x1=%.2f\n x2=%.2f\n",x1,x2);
}
還有。。