用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ù)。
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!!");
}
首先假設你的二次根式除去根號以外是在有理數(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)