vs2019c語言int整數開根號不能開怎麼辦

時間 2021-09-11 22:28:02

1樓:風若遠去何人留

可能原因有兩個:

1 使用方法不對。

c語言開平方有兩種方式:

a)使用sqrt函式:

double sqrt(double n);

功能是求n的算數平方根,返回為非負數。

b)使用pow函式。

double pow(double n, double m);

功能是求n的m次方。當m=0.5時,該函式用來求算數平方根。

2 傳入引數不正確。

由於數學定義,無論哪種方式,均只能求非負數的平方根。

如果穿入的引數為負數,則會出錯,導致程式出問題。

2樓:

我只想說一句,這道題出錯是正常,錯的關鍵在哪?

sqrt裡的引數是float或double型別,而你的m是int型別,型別不匹配,所以導致錯誤

這才是根源!!!

3樓:匿名使用者

你這是求素數吧。那開根號幹啥?教程是啥,能看看嘛。

4樓:匿名使用者

sqrt函式是求冪函式,誰告訴你是開方函式的?去往死裡抽,抽死拉倒,不用留面子

既然是求冪函式,那就得有兩個引數,sqrt(x,y)是求x的y次方,你寫一個引數算幾個意思?

我讓你計算兩個數的和,然後告訴你其中一個數是6,你算吧,告訴我結果?

開方,y的位置寫0.5那就是開方了

5樓:匿名使用者

k=sqrt((double)m);

不過那樣寫好像確實不會報錯。

c語言中怎麼開根號?

6樓:大野瘦子

用math.h裡封裝好的函式,具體如下:

求平方根:double sqrt(double x)

例:#include

#include

int main(void)

關於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;

注意:除法運算子並不是÷,而是一個正斜槓 /

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

2> 第2行中的10和4都是整型,計算機中的運算有個原則:相同資料型別的值才能進行運算,而且運算結果依然是同一種資料型別。因此,整數除於整數,求出來的結果依然是整數,會損失小數部分。

最後變數b的值是2。

5.模運算子或稱取餘運算子 %

注意:這個%並不是除號÷,它是一個取餘運算子,或者叫做模運算子。取餘的意思是,取得兩個整數相除之後的餘數。

比如,5除於2的餘數是1,5除於3的餘數是2。因此使用這個%有個原則:%兩側必須都為整數。

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

編譯器會直接報錯,因為5.0並非整數。

7樓:行走的皮卡丘呀

1、#include

sqrt()

2、用c語言函式

1、c語言是一門通用計算機程式語言,應用廣泛。

2、c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

3、儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

8樓:風若遠去何人留

在c語言中,可以使用庫函式sqrt來實現開根號計算。

1 標頭檔案:math.h

2 宣告:

double sqrt(double n);

3 功能:

將引數n開平方後,得到算數平方根返回。

4 呼叫形式:

sqrt(100);

為計算100的平方根。

9樓:月生戀珊

c語言里根號的使用:

先要在上面#include

然後條用sqrt()函式就可以開2次方了

sqrt是開2次方

pow(x,n)是開n次方望採納

10樓:匿名使用者

在標頭檔案中加入#include

之後使用sqrt即可,可以用double定義舉個例子:

#include

#include

#include

double sqrt(double n);

int main(void)

11樓:酷班圖

用math.h裡封裝好的函式。。見下。。

求平方根

double sqrt(double x)例:#include

#include

int main(void)

最後膜拜一下樓主的id

12樓:

用sqrt()函式開平方根

c語言中怎麼表示開根號?

13樓:大野瘦子

用math.h裡封裝好的函式,具體如下:

求平方根:double sqrt(double x)

例:#include

#include

int main(void)

關於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;

注意:除法運算子並不是÷,而是一個正斜槓 /

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

2> 第2行中的10和4都是整型,計算機中的運算有個原則:相同資料型別的值才能進行運算,而且運算結果依然是同一種資料型別。因此,整數除於整數,求出來的結果依然是整數,會損失小數部分。

最後變數b的值是2。

5.模運算子或稱取餘運算子 %

注意:這個%並不是除號÷,它是一個取餘運算子,或者叫做模運算子。取餘的意思是,取得兩個整數相除之後的餘數。

比如,5除於2的餘數是1,5除於3的餘數是2。因此使用這個%有個原則:%兩側必須都為整數。

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

編譯器會直接報錯,因為5.0並非整數。

14樓:天雲一號

c語言中,開根號用庫函式sqrt來表示。

函式原型:double sqrt(double x);

功       能:計算x的平方根

返 回  值:計算結果

舉例如下:

double x=2.55, y;

y = sqrt(x);  // 計算結果為y=1.5注:使用sqrt函式時,需要將標頭檔案#include新增進原始檔中

15樓:匿名使用者

用math.h裡封裝好

的函式。見下。

求平方根

double sqrt(double x)例:#include

#include

int main(void)

16樓:匿名使用者

#include "math.h"

sqrt(***);

17樓:all魔鏡

math.h裡sqrt()函式。程式原始碼及執行結果如下所示(系統會自動去掉句首空格,排版較亂請見諒):

#include

#include

int main(void)

怎麼用c語言判斷一個數是否為整數(這個數是開平方出來的)?

18樓:

如果這個數是n,一般如是if(n==(int)n) printf("it is a integer.\n"); else printf("it is not a integer.\n");判斷就可以了。

但這不100%準確,因為同一個整數用int表達和用double表達實際上是有差別的,所以當浮點數與整型數相差非常非常小時可能會誤判。

19樓:匿名使用者

因為實型和整型變數是不能直接比較的,要做一步型別轉換才能比較首先要明確允許

的誤差是多少。比如一般情況誤差的絕對值小於10-8時我們可以認為兩個實數是相等的。

**如下

#include

#include

main()}結果

20樓:聽不清啊

if(fabs(x-(int)(x+0.5))<1e-5)printf("%d是一個整數",(int)(x+0.5));

這裡把它與相應整數的差小於0.00001,就視為它就是一個整數。

c語言判斷一個數是否為整數

21樓:考元修龐裳

使用截尾函式可以驗證!

截尾函式是指將小數點後面的全部丟掉!

所以,如果是整數的話,那麼截去小數點後面的應該等於原來的這個數字;

否則,便不是整數!

截尾函式:trunc(x)

判斷:if

trunc(x)=x

then

……翻譯:如果x是整數的話……

望採納!

22樓:匿名使用者

以判斷n開根號後是否是整數為例

#include

#include

main()

23樓:凌亂心扉

方法1:

#include

#include

float x;

...if(fabs(x-(int)x)<1e-8)printf(「x是一個整數\n」);

else printf(「x不是一個整數\n」);

方法2:

int c=(int)b,d=(int)(b+0.999999)if(c==d)

printf(「是整數\n」);

else

printf(「不是整數\n」);

方法3:

float b;

...if(b-(int)b==0)

printf(「是整數\n」);

else

printf(「不是整數\n」);

方法4:

float b;

...if(b!=(int)b)

printf(「不是整數\n」);

else

printf(「是整數\n」);

24樓:育知同創教育

double x;

scanf("%f",&x);

if((int)x==x)

printf("%f是整數",x);

把所輸入的數強制轉換為整數,然後判斷是否跟原來相等。

c語言int最大值是多少,C語言int型別最大值是多少?

當無符號0以二進位制儲存在記憶體中的時候,每一位都為0,以32位int為例,unsigned int 0的二進位制為 按位取反 後,變成 此時的十進位制為 除以2 因為int型別中有一半表示負數且比正數多一個 之後為 即為32位int型別最大值。c語言中最大的整型資料型別是long型別,佔4個位元組...

C語言中int的含義,c語言中int 代表什麼意思

int 定義一個整型變數。比如 int i 表示定義一個整數i 也可以賦予初始值。int i 1 int後接一個字元是定義一個整型變數,vc中佔四位元組。c語言中int 代表什麼意思 c c 程式語言中,int表示整型變數,是一種資料型別,用於定義一個整型變數,在不同編譯環境有不同的大小,不同編譯執...

int佔多少位元組,c語言int佔幾個位元組?

int佔4個位元組。常用微控制器,short和int型至少為16位,long型至少為32位,並且short型長度不能超過int型,而int型不能超過long型。這即是說各個型別的變數長度是由編譯器來決定的,而當前主流的編譯器中一般是32位機器和64位機器中int型都是4個位元組。 在c c 語言中,...