#include stdio.h
成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)隆德,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):028-86922220
#include math.h
int main(void)
{
int a, b, c; //定義一元二次方程的三個(gè)數(shù)值;
printf("請(qǐng)依次輸入一元二次方程的三個(gè)參數(shù)a b c,中間以空格隔開(kāi)\n");
scanf("%d %d %d", a, b, c); //依次輸入一元二次方程的三個(gè)參數(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時(shí),方程有兩個(gè)解
{
printf("一元二次方程有兩個(gè)解\n");
printf("一元二次方程的第一個(gè)解,x1 = %f\n",x1);
printf("一元二次方程的第二個(gè)解,x2 = %f\n",x2);
}
else if (delta ==0) //delta等于0,方程有兩個(gè)相同的解
{
printf("一元二次方程有兩個(gè)相同的解\n");
printf("一元二次方程的解為x1 = x2 =%f\n",x1);
}
else //delta小于0時(shí),方程沒(méi)有解
{
printf("一元二次方程沒(méi)有解\n");
}
return 0;
}
c語(yǔ)言一元二次方程編程是#include?iostream 。#include?cmath。using?namespace?std。int?main()。{float?a,b,c;float?x1,x2; cinabc;float?dlt=b*b-4*a*c;if(dlt=0){x1=-b/2/a+sqrt(dlt)。/2/ax2=-b/2/a-sqrt(dlt)/2/a。
形如x=p或(nx+m)=p(p≥0)的一元二次方程可采用直接開(kāi)平方的方法解一元二次方程.如果方程化成x2=p的形式,那么可得x=±p;(x2=p,x=±根號(hào)p)如果方程能化成(nx+m)=p(p≥0)的形式,那么nx+m=±p。
簡(jiǎn)潔的語(yǔ)言:
C語(yǔ)言包含的各種控制語(yǔ)句僅有9種,關(guān)鍵字也只有32個(gè),程序的編寫(xiě)要求不嚴(yán)格且以小寫(xiě)字母為主,對(duì)許多不必要的部分進(jìn)行了精簡(jiǎn)。
實(shí)際上,語(yǔ)句構(gòu)成與硬件有關(guān)聯(lián)的較少,且C語(yǔ)言本身不提供與硬件相關(guān)的輸入輸出、文件管理等功能,如需此類(lèi)功能,需要通過(guò)配合編譯系統(tǒng)所支持的各類(lèi)庫(kù)進(jìn)行編程,故c語(yǔ)言擁有非常簡(jiǎn)潔的編譯系統(tǒng)。
提供的控制語(yǔ)句具有結(jié)構(gòu)化特征,如for語(yǔ)句、if...else語(yǔ)句和switch語(yǔ)句等。可以用于實(shí)現(xiàn)函數(shù)的邏輯控制,方便面向過(guò)程的程序設(shè)計(jì)。
一:scanf("%3f%3f%3f",a,b,c); 這里要求輸入數(shù)據(jù)必須為三位數(shù),最好改成:
scanf("%f%f%f",a,b,c); 去掉限定
二:
void tonggen(float a,float b,float k)
//float a,b,k; 如果這樣定義,則上一行的函數(shù)定義應(yīng)該寫(xiě)成:void tonggen( a, b, k) 二者不能同存
{
float x;
x=(-b)/(2*a); //這里應(yīng)該為2*a
printf("二次函數(shù)為同根為x=%3f",x);
}
這個(gè)簡(jiǎn)單啊
#includestdio.h
#includemath.h
main()
{
double a,b,c,w;
printf("請(qǐng)輸入三個(gè)數(shù)(方程的系數(shù)),中間用空格分開(kāi)\n");
scanf("%lf%lf%lf",a,b,c);
w=b*b-4*a*c;
if (w0)printf("方程無(wú)解\n");
else if(w==0)printf("方程有一個(gè)解:x=%lf\n",-b/(2*a));
else printf("方程有兩個(gè)解:x1=%lf,x2=%lf\n",(-b+sqrt(w))/(2*a),(-b-sqrt(w))/(2*a));
}
sqrt函數(shù)是C語(yǔ)言數(shù)學(xué)的庫(kù)函數(shù),需要包含頭文件,#includemath.h
你的
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);
兩句加上大括號(hào)就行了。。。
if只能執(zhí)行到分號(hào)以前,所以加入大括號(hào)。另外x1=x2=-b/2*a MS沒(méi)加小括號(hào)
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);
}
還有。。