十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
int GetRoot(float a, float b, float c ,double* root){
安國網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),安國網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為安國數(shù)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的安國做網(wǎng)站的公司定做!
double delta, deltasqrt ;
delta = b* b - 4*a*c ;
if(delta0) return 0 ;
deltasqrt = sqrt(delta) ;
if (a!=0.0){
root[0] = (deltasqrt - b)/(2.0*a) ;
root[1] = ?(-deltasqrt - b)/(2.0*a) ;
}
if (root[0] == root[1]) return 1;
else return 2 ;
}
int main(void){
//計算方程的根
float ?a = 2.0,b =6.0,c=3.0 ;//a,b,c s是參數(shù)
double root[2] ;//root是得到的兩個根
int n = GetRoot(a,b,c,root) ;
if (n1){
printf("方程無根") ;
}else{
printf("方程的解為:%f,%f",root[0],root[1]) ;
}
}
擴展資料:
C語言是一門面向過程、抽象化的通用程序設(shè)計語言,廣泛應(yīng)用于底層開發(fā)。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產(chǎn)生少量的機器語言以及不需要任何運行環(huán)境支持便能運行的高效率程序設(shè)計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平臺的特性,以一個標準規(guī)格寫出的C語言程序可在包括一些類似嵌入式處理器以及超級計算機等作業(yè)平臺的許多計算機平臺上進行編譯。
C語言特點:
(1)簡潔的語言
C語言包含有各種控制語句僅有9種,關(guān)鍵字也只有32
個,程序的編寫要求不嚴格且多以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構(gòu)成與硬件有關(guān)聯(lián)的較少,且C語言本身不提供與硬件相關(guān)的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統(tǒng)所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統(tǒng)。
(2)具有結(jié)構(gòu)化的控制語句
C語言是一種結(jié)構(gòu)化的語言,提供的控制語句具有結(jié)構(gòu)化特征,如for語句、if?else語句和switch語句等??梢杂糜趯崿F(xiàn)函數(shù)的邏輯控制,方便面向過程的程序設(shè)計。
(3)豐富的數(shù)據(jù)類型
C語言包含的數(shù)據(jù)類型廣泛,不僅包含有傳統(tǒng)的字符型、整型、浮點型、數(shù)組類型等數(shù)據(jù)類型,還具有其他編程語言所不具備的數(shù)據(jù)類型,其中以指針類型數(shù)據(jù)使用最為靈活,可以通過編程對各種數(shù)據(jù)結(jié)構(gòu)進行計算。
(4)豐富的運算符
C語言包含34個運算符,它將賦值、括號等均視作運算符來操作,使C程序的表達式類型和運算符類型均非常豐富。
(5)可對物理地址進行直接操作
C語言允許對硬件內(nèi)存地址進行直接讀寫,以此可以實現(xiàn)匯編語言的主要功能,并可直接操作硬件。C語言不但具備高級語言所具有的良好特性,又包含了許多低級語言的優(yōu)勢,故在系統(tǒng)軟件編程領(lǐng)域有著廣泛的應(yīng)用。
(6)代碼具有較好的可移植性
C語言是面向過程的編程語言,用戶只需要關(guān)注所被解決問題的本身,而不需要花費過多的精力去了解相關(guān)硬件,且針對不同的硬件環(huán)境,在用C語言實現(xiàn)相同功能時的代碼基本一致,不需或僅需進行少量改動便可完成移植,這就意味著,對于一臺計算機編寫的C程序可以在另一臺計算機上輕松地運行,從而極大地減少了程序移植的工作強度
(7)可生成的高質(zhì)量目標代碼,高執(zhí)行效率的程序
與其他高級語言相比,C語言可以生成高質(zhì)量和高效率的目標代碼,故通常應(yīng)用于對代碼質(zhì)量和執(zhí)行效率要求較高的嵌入式系統(tǒng)程序的編寫。
改成這樣就對了。三個函數(shù)定義出現(xiàn)了不少語法錯誤。定義三個函數(shù)來對待delta的不同情況。
#include"stdio.h"http://這個別忘了
#include"math.h"
float x1,x2,disc,p,q;
void greater_than_zero(float a,float b);//函數(shù)無返回值,float放這 里
//x1,x2是全局變量,在函數(shù)內(nèi)賦值即可
{ //括號別丟
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
}
void equal_to_zero(float a,float b)//也無返回值
{
x1=x2=(-b)/(2*a);
}
void smaller_than_zero(float a,float b)
{
p=-b/(2*a); //p、q也是全局變量
q=sqrt(disc)/(2*a);
}
void main()
{
float a,b,c;
printf("輸入a,b,c:\n")
scanf("%f,%f,%f",a,b,c);
printf("\n 方程:%5.2f*x+%5.2f=0\n",a,b,c);
disc=b*b-4*a*c;//一元二次方程的delta
printf("方程的解是:\n");
if(disc0) //判斷delta是否小于0,如果大于0
{
great_than_zero(a,b);
printf("x1=%5.2f\tx2=%5.2f\n\n",x1,x2);
}
else if(disc0) //delta小于0,復(fù)根
{
small_than_zero(a,b,c)
printf("x1=%5.2f+%5.2f\tx2=%5.2f-%5.2fi\n",p,q,p,q);
}
else//等于0,有等根
{
equal_to_zero(a,b);
printf("x1=%5.2f\tx2=%5.2f\n\n",x1,x2);
}
}//結(jié)束
# include stdio.h
# include math.h
int main(void)
{
//把三個系數(shù)保存到計算機中
int a = 1; //=不表示相等,表示賦值
int b = 5;
int c = 6;
double delta; //delt存放的是 b*b - 4*a*c
double x1; //存放一元二次方程的其中一個解
double x2; //存放一元二次方程的其中一個解
delta = b*b - 4*a*c;
if (delta 0)
{
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
printf("該一元二次方程有兩個解, x1 = %f, x2 = %f\n", x1, x2);
}
else if (delta == 0)
{
x1 = (-b) / (2*a);
x2 = x1; //右邊賦給左邊
printf("該一元二次方程有一個唯一解, x1 = x2 = %f\n", x1);
}
else
{
printf("無解\n");
}
return 0;
}