開二次根函數(shù)c語言 c語言二次根號怎么打出來

c語言中如何開根號運算

用math.h里封裝好的函數(shù),具體如下:

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比囊謙網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式囊謙網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋囊謙地區(qū)。費用合理售后完善,10年實體公司更值得信賴。

求平方根:double sqrt(double x)

例:

#include math.h

#include stdio.h

int main(void)

{

double x = 4.0, result;

result = sqrt(x);

printf("The square root of %lf is %lf

", x, result);

return 0;

}

擴展資料:

關于c語言的基本運算

1.加法運算符 +

int a = 10;

int b = a + 5;

在第3行利用加法運算符 + 進行了加法運算,再將和賦值給了變量b,最終變量b的值是15

2.減法運算符 或 負值運算符?-

int b = 10 - 5;

int a = -10;

1 在第1行利用減法運算符 - 進行了減法運算,再將差賦值給了變量b,最終變量b的值是5

2 在第3行中,這個 - 并不是什么減法運算符,而算是一個負值運算符,-10代表的是負十

3.乘法運算符?*

int b = 10 * 5;

注意:乘法運算符并不是x或者X,而是星號*。變量b最終的值是50。

4.除法運算符?/

double a = 10.0 / 4;

double b = 10 / 4;

printf("a=%f, b=%f \n", a, b);

注意:除法運算符并不是÷,而是一個正斜杠 /

1 第1行中的10.0是浮點型,4是整型,因此會將4自動類型提升為浮點型后再進行運算,最后變量b的值是2.5

2 第2行中的10和4都是整型,計算機中的運算有個原則:相同數(shù)據(jù)類型的值才能進行運算,而且運算結果依然是同一種數(shù)據(jù)類型。因此,整數(shù)除于整數(shù),求出來的結果依然是整數(shù),會損失小數(shù)部分。最后變量b的值是2。

5.模運算符或稱取余運算符 %

注意:這個%并不是除號÷,它是一個取余運算符,或者叫做模運算符。取余的意思是,取得兩個整數(shù)相除之后的余數(shù)。比如,5除于2的余數(shù)是1,5除于3的余數(shù)是2。因此使用這個%有個原則:%兩側必須都為整數(shù)。

錯誤的寫法:1 int a = 5.0 % 2;

編譯器會直接報錯,因為5.0并非整數(shù)。

c語言求一元二次根的函數(shù)

abc輸入的時候就出錯了,還有需要判斷是否有解、、

改了一下:

#include stdio.h

#include math.h

void main ()

{

double a,b,c,q,p,x1,x2,disc;

printf("input three number a,b,c\n");

scanf("%lf,%lf,%lf",a,b,c);

disc=b*b-4*a*c;

if(disc0)

{

p=-b/(2.0*a);

q=sqrt(disc)/(2.0*a);

x1=p+q;

x2=p-q;

printf("\nx1=%5.2f \nx2=%5.2f\n",x1,x2);

}

else if (disc==0)

{

p=-b/(2.0*a);printf("\nx=%5.2f\n",p);

}

else

printf("no answer!!");

}

如何用c語言實現(xiàn)化簡二次根式?思路和代碼都要。

首先假設你的二次根式除去根號以外是在有理數(shù)的范圍內(nèi)吧

首先二次根式分為四個部分a,b,c,d

則按照這個假設,二次分式應該滿足以下模型

(a/b)sqrt(c/d) 這里a,b,c,d根據(jù)假設應該都是整數(shù)

化簡二次根式無非是希望使得該二次根式只有3個部分,也就是要使得

(a/b)sqrt(c/d) = (e/f)sqrt(g)這種格式

顯然 sqrt(c/d) = sqrt(c) / sqrt(d) = ( sqrt(c) * sqrt(d) ) / ( sqrt(d) * sqrt(d) ) = ( sqrt(c) * sqrt(d) ) / d

= sqrt(c*d) / d

換句話說 必然滿足以下方程

f = d * b

e * sqrt(g) = a * sqrt( c * d )

開方和約分的問題了

首先開方

分解質因數(shù) c *d 然后將其中多次出現(xiàn)的質因數(shù)的個數(shù)除2 就是開方出來的結果 設為 h

那么這樣的話 e = a * h , g = ( c * d ) / ( h * h )

最后的約分只需要用輾轉相除計算出 e 與 f的最大公約數(shù)然后除去即可

最后粗略的寫下代碼

long q[10000]; // 質數(shù)表

long times[10000]; // 次方計數(shù)

long add = 0

int gcd(long m1,long m2)

{

if( m1 == 0 ) return m2;

return gcd( m2 % m1 , m1 );

}

int main()

{

add = 0; // 質數(shù)計數(shù)清零

for(long i=2;i=10000;i++)

{

add++;

for(long j=2;j=sqrt(i);j++)

if( i % j == 0 )

{

add--;

break;

}

q[add] = i;

} // 構建質數(shù)表

long a,b,c,d;

scanf("%ld%ld%ld%ld",a,b,c,d); // 輸入二次根式的四個參數(shù)(a/b)* sqrt(c/d)

long temp = c * d;

add = 1; // 從第一個質數(shù)開始嘗試

long h = 1;

while(temp != 1 q[add] = temp) // 分解 c * d 計算出 h

{

long add2 = 0;

if( temp % q[add] == 0 )

{

temp /= q[add];

add2++; // 如果是當前temp的質因數(shù)則+1

continue;

}

for( long i=1;i=add2 / 2 ; i ++ )

{

h *= q[add];

}

add++; //查看下一個質數(shù)

}

long g = ( c * d ) / ( h * h );

long e = a * h;

long f = d * b;

long m = gcd( e , f ); // 計算 e 與 f的最大公約數(shù)

e /= m;

f /= m; //計算出約分后的 e和f

printf("化簡后的二次根式為(%ld/%ld)*sqrt(%ld)",e,f,g); // 也就是(e/f)*sqrt(g)

return 0;

}

網(wǎng)站題目:開二次根函數(shù)c語言 c語言二次根號怎么打出來
轉載注明:http://muchs.cn/article36/dospesg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗、、標簽優(yōu)化企業(yè)建站、服務器托管Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站