我已經(jīng)按你的意思修改了,也運行出來了,希望對你有幫助,代碼附帶在下面:
成都創(chuàng)新互聯(lián)服務項目包括輝縣網(wǎng)站建設、輝縣網(wǎng)站制作、輝縣網(wǎng)頁制作以及輝縣網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,輝縣網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到輝縣省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
#includestdio.h
#includemath.h
float t,x1,x2;
void main()
{
void situ1(float a,float b,float c);
void situ2(float a,float b,float c);
void situ3();
float x,a,b,c;
scanf("%f%f%f",a,b,c);
if (a==0)
{
x=-c/b;
printf("x=%.2f\n",x);
}
else
{
t=b*b-4*a*c;
if (t0)
situ1(a,b,c);
else if(t==0)
situ2(a,b,c);
else
situ3();
}
}
void situ1(float a,float b,float c)
{
x1=(-b+sqrt(t))/(2*a);
x2=(-b-sqrt(t))/(2*a);
printf("x1=%.2f\tx2=%.2f\n",x1,x2);
}
void situ2(float a,float b,float c)
{
x1=x2=(-b+sqrt(t))/(2*a);
printf("x1=x2=%.2f\n",x1);
}
void situ3()
{
printf("沒有實根\n");
}
首先你已經(jīng)很清楚的說明了你這個程序是用C語言寫二次函數(shù)的,而當a=0時,就不是二次函數(shù)了,應該按照一次函數(shù)來進行計算,否則 一個數(shù)除以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;
}
我看書上是改錯題,你沒有發(fā)完整的原題(錯誤的代碼),無法改錯,只能按照編程題做了:
main(){
int a=1,b=5,c=-6;
float x1,x2,delta;
delta=b*b-4*a*c;
if(delta0)printf("沒有實數(shù)解。\n");
elseif(delta==0){
x1=-b*1.0/(2*a);
printf("只有一個解:x=%f。\n",x1);
}
else{
delta=sqrt(dalta);
x1=(-b+delta)/(2*a);
x2=(-b-delta)/(2*a);
printf("有兩個解:x1=%f,x2=%f。\n",x1,x2);
}
}
如果還有問題,請留言。
#include stdio.h
#include math.h
int main(void)
{
int a, b, c; //定義一元二次方程的三個數(shù)值;
printf("請依次輸入一元二次方程的三個參數(shù)a b c,中間以空格隔開\n");
scanf("%d %d %d", a, b, c); //依次輸入一元二次方程的三個參數(shù)
double delta = b*b - 4*a*c; //定義delta的值為b*b - 4*a*c
double x1 = (-b + sqrt(delta))/(2 * a);
double x2 = (-b - sqrt(delta))/(2 * a);
if (delta0) //delta大于0時,方程有兩個解
{
printf("一元二次方程有兩個解\n");
printf("一元二次方程的第一個解,x1 = %f\n",x1);
printf("一元二次方程的第二個解,x2 = %f\n",x2);
}
else if (delta ==0) //delta等于0,方程有兩個相同的解
{
printf("一元二次方程有兩個相同的解\n");
printf("一元二次方程的解為x1 = x2 =%f\n",x1);
}
else //delta小于0時,方程沒有解
{
printf("一元二次方程沒有解\n");
}
return 0;
}
這個簡單啊
#includestdio.h
#includemath.h
main()
{
double a,b,c,w;
printf("請輸入三個數(shù)(方程的系數(shù)),中間用空格分開\n");
scanf("%lf%lf%lf",a,b,c);
w=b*b-4*a*c;
if (w0)printf("方程無解\n");
else if(w==0)printf("方程有一個解:x=%lf\n",-b/(2*a));
else printf("方程有兩個解:x1=%lf,x2=%lf\n",(-b+sqrt(w))/(2*a),(-b-sqrt(w))/(2*a));
}
文章名稱:c語言解二次函數(shù)的程序 二次函數(shù)編程代碼
網(wǎng)址分享:http://chinadenli.net/article6/hgdjig.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、微信公眾號、標簽優(yōu)化、定制開發(fā)、靜態(tài)網(wǎng)站、網(wǎng)站內鏈
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)