int?main()

在網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站過(guò)程中,需要針對(duì)客戶的行業(yè)特點(diǎn)、產(chǎn)品特性、目標(biāo)受眾和市場(chǎng)情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計(jì)方向。成都創(chuàng)新互聯(lián)還需要根據(jù)客戶的需求進(jìn)行功能模塊的開(kāi)發(fā)和設(shè)計(jì),包括內(nèi)容管理、前臺(tái)展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計(jì)和安全保護(hù)等功能。
{
int?a,b,c,d;
float?x1,x2;
scanf("%d%d%d",a,b,c);
d=b*b-4*a*c;
if(a==0)
{
if(b==0)
{
printf("Input?error!\n");
}
else
printf("x=%.6f",-c/b);
}
else?
{
if(d0)
printf("Input?error!\n");
else?if(d==0)
printf("x1=x2=%.6f",-b/(2*a));
else
{?
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%.6f\nx2=%.6f\n",x1,x2);
}
}
return?0;
}
兩種方法:
一、定義求根公式,根據(jù)a、b、c的值計(jì)算結(jié)果。
二、暴力枚舉,每隔 0.001 取一個(gè)值,當(dāng)abs(f(x)-0) 0.00001 時(shí)視為得出結(jié)果。
#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。
couta"x^2+"b"x+"c"=0有兩個(gè)實(shí)根:";cout"x1="x1",x2="x2endl;} 。
else。
{x1=-b/2/a;x2=sqrt(-dlt)/2/a;couta"x^2+"b"x+"c"=0有兩個(gè)虛根:"。
cout"x="x1"+/-"x2"i"endl;}。
return?0。
成立條件:
一元二次方程成立必須同時(shí)滿足三個(gè)條件:
①是整式方程,即等號(hào)兩邊都是整式,方程中如果有分母;且未知數(shù)在分母上,那么這個(gè)方程就是分式方程,不是一元二次方程,方程中如果有根號(hào),且未知數(shù)在根號(hào)內(nèi),那么這個(gè)方程也不是一元二次方程(是無(wú)理方程)。
②只含有一個(gè)未知數(shù)。
③未知數(shù)項(xiàng)的最高次數(shù)是2。
對(duì)于如下的一元二次方程:
ax*x+bx+c=0
設(shè)計(jì)C語(yǔ)言程序,輸入一元二次方程的三個(gè)系數(shù)a、b、c,求解出該方程的兩個(gè)根,并且允許用戶在程序中多次輸入不同的系數(shù),以求解不同的一元二次方程的解。
編程思路分析:
對(duì)于該方程,令delta=b^2-4*a*c,從數(shù)學(xué)的角度來(lái)講,我們需要根據(jù)delta的值來(lái)判斷該方程的根情況:
當(dāng)delta=0時(shí),其兩個(gè)根為實(shí)數(shù)解,分別為(-b+sqrt(delta))/(2*a)和(-b-sqrt(delta))/(2*a);
當(dāng)delta0時(shí),其兩個(gè)根為復(fù)數(shù)解,實(shí)部皆為-b/(2*a),虛部分別為sqrt(-delta)/(2*a)和-sqrt(-delta)/(2*a)。
其中,sqrt(delta)代表對(duì)delta作開(kāi)根號(hào)運(yùn)算。
在代碼設(shè)計(jì)中,可定義一個(gè)結(jié)構(gòu)體Complex存儲(chǔ)該方程的根,在該結(jié)構(gòu)體中包括實(shí)部和虛部?jī)蓚€(gè)變
在程序中,定義兩個(gè)Complex類型的根x1和x2,當(dāng)delta=0時(shí),兩個(gè)根的虛部為0,否則,分別求解兩個(gè)根的虛部值。
具體編程如下:
#include?"stdio.h"?
#include?"math.h"?
/*求一元二次方程ax*x+bx+c=0的解*/?
main()?
{float?a,b,c,x1,x2,d;
printf("請(qǐng)輸入a:");
scanf("%f",a);
printf("請(qǐng)輸入b:");
scanf("%f",b);
printf("請(qǐng)輸入c:");
scanf("%f",c);
d=b*b-4*a*c;if(d??0)
printf("方程沒(méi)有實(shí)數(shù)解。\n");
if?(d==0){x1=(-b)/(2*a);
printf("x1=%f\n",x1);}
if?(d0){x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f\n",x1,x2);}?}
請(qǐng)輸入a:12
請(qǐng)輸入b:34
請(qǐng)輸入c:4
x1=-0.122985,x2=-2.710348
Press?any?key?to?continue
擴(kuò)展資料:
一元二次方程還可以用迭代法的思想設(shè)計(jì)程序:
例 ?:一個(gè)飼養(yǎng)場(chǎng)引進(jìn)一只剛出生的新品種兔子,這種兔子從出生的下一個(gè)月開(kāi)始,每月新生一只兔子,新生的兔子也如此繁殖。如果所有的兔子都不死去,問(wèn)到第 12 個(gè)月時(shí),該飼養(yǎng)場(chǎng)共有兔子多少只?
分析:這是一個(gè)典型的遞推問(wèn)題。我們不妨假設(shè)第 1 個(gè)月時(shí)兔子的只數(shù)為 u 1 ,第 2 個(gè)月時(shí)兔子的只數(shù)為 u 2 ,第 3 個(gè)月時(shí)兔子的只數(shù)為 u 3 ,……根據(jù)題意,“這種兔子從出生的下一個(gè)月開(kāi)始,每月新生一只兔子”,則有
u 1 = 1 , u 2 = u 1 + u 1 × 1 = 2 , u 3 = u 2 + u 2 × 1 = 4 ,……
根據(jù)這個(gè)規(guī)律,可以歸納出下面的遞推公式:u n = u(n - 1)× 2 (n ≥ 2),對(duì)應(yīng) u n 和 u(n - 1),定義兩個(gè)迭代變量 y 和 x ,可將上面的遞推公式轉(zhuǎn)換成如下迭代關(guān)系:
y=x*2,x=y
讓計(jì)算機(jī)對(duì)這個(gè)迭代關(guān)系重復(fù)執(zhí)行 11 次,就可以算出第 12 個(gè)月時(shí)的兔子數(shù)。參考程序如下:
cls ?x=1 ? for i=2 to 12
y=x*2 ? x=y
next i ? print y
end
迭代法是一類利用遞推公式或循環(huán)算法通過(guò)構(gòu)造序列來(lái)求問(wèn)題近似解的方法。例如,對(duì)非線性方程??,利用遞推關(guān)系式,從??開(kāi)始依次計(jì)算??,來(lái)逼近方程的根??的方法,
若??僅與??有關(guān),即??,則稱此迭代法為單步迭代法,一般稱為多步迭代法;對(duì)于線性方程組??,由關(guān)系??從??開(kāi)始依次計(jì)算??來(lái)過(guò)近方程??的解的方法。
若對(duì)某一正整數(shù)??,當(dāng)??時(shí),??與 k 無(wú)關(guān),稱該迭代法為定常迭代法,否則稱之為非定常迭代法。稱所構(gòu)造的序列??為迭代序列。
參考資料:迭代法_百度百科
#include stdio.h
#include math.h
void main()
{
float a,b,c,x,x1,x2;//應(yīng)該為浮點(diǎn)數(shù)。
printf("請(qǐng)輸入:");
scanf("%f%f%f",a,b,c);//1,輸入一起改為浮點(diǎn)數(shù)個(gè)數(shù)輸入。2,輸入最好別用非空格符',' 不然將限制你輸入格式。
a*x*x+b*x+c==0;//不應(yīng)該賦值運(yùn)算符。
if(a==0)
printf("此方程不是二次方程\n");//沒(méi)有格式輸出符就不應(yīng)該有參數(shù)。
else if(b*b-4*a*c==0)
printf("此方程有兩相等實(shí)根,根為:%f.\n",x=b/(2*a));//有參數(shù)應(yīng)該有格式輸出符。
else if(b*b-4*a*c0)
printf("此方程有兩不相等實(shí)根,根為:%f,%f.\n",x1=(-b+sqrt(b*b-4*a*c))/(2*a),x2=(-b-sqrt(b*b-4*a*c))/(2*a));//同上
else if(b*b-4*a*c0)
printf("此方程有兩共軛復(fù)根,實(shí)部:%f,虛部:%f.\n",-b/(2*a),sqrt(-(b*b-4*a*c))/(2*a));//1,同上。2,參數(shù)應(yīng)為表達(dá)式。
}
如果還有其他的錯(cuò),那就是算法的錯(cuò)了。
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è),程序的編寫要求不嚴(yán)格且以小寫字母為主,對(duì)許多不必要的部分進(jìn)行了精簡(jiǎn)。
實(shí)際上,語(yǔ)句構(gòu)成與硬件有關(guān)聯(lián)的較少,且C語(yǔ)言本身不提供與硬件相關(guān)的輸入輸出、文件管理等功能,如需此類功能,需要通過(guò)配合編譯系統(tǒng)所支持的各類庫(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ì)。
網(wǎng)站欄目:一元二次函數(shù)求解c語(yǔ)言 一元二次函數(shù)求解c語(yǔ)言是什么
網(wǎng)站鏈接:http://chinadenli.net/article32/hhjgsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站改版、微信小程序、營(yíng)銷型網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容