c語言怎麼對浮點型的數求餘,C語言怎麼對浮點型的數求餘?

2021-09-11 19:11:07 字數 4373 閱讀 5336

1樓:大野瘦子

這樣:float a=3.14 ,b=3;

int c;

a*=100;

b*=100;

c=(int)a%(int)b;

a=(float)c/100;

%只能用於整形,不能用於浮點,如果浮點定義,必然報錯,結果應該是0,不可能是0.14,int=3.14系統預設為3 3%3=0,想得到0.14可以藉助系統函式。

注意事項

% 只用於整型的計算,後一個數不能是0,參與運算的資料可正可負。

對於x%y ,計算之後結果的正負與 x 的符號相同,如果前者是較小的數,後者是較大的數,那麼,結果直接為較小的數。例如:

10%3=1

3%10=3

10%-3=1

-3%10=-3

-10%-3=-1

-3%-10=-3

3%13=3

0%3=0

0%-3=0

3%0  (×)error!

-3%0  (×)error!

10.0%3.0 (×)error!  // 浮點型不能進行模運算

2樓:天雲一號

在c語言中,浮點數是不能進行求餘操作的。

因為c語言規定,求餘運算子( % )的左右運算元必須為int型別。

浮點型別的數可以表示小數,所以浮點數相除後能用小數表示,不存在餘數的問題,所以也就不能進行求餘運算。

如:int a=3, b=2, f1;

float c=3, d=2, f2;

f1 = a%b;   // 合法

f2 = c%d;   // 不合法

3樓:張三李四王五幹

int a=3.14 ,b=3可以的

a相當於把3.14強制轉化為整數3賦值給a整數和整數取餘3%3=0

如果你要得到3.14%3=0.14的效果math.h有個函式叫fmod

4樓:匿名使用者

1,%只能用於整形,不能用於浮點,如果浮點定義,必然報錯2,結果應該是0,不可能是0.14,int=3.14系統預設為3 3%3=0

3,若想得到0.14這樣來算,也可以藉助系統函式;

float a=3.14 ,b=3;

int c;

a*=100;

b*=100;

c=(int)a%(int)b;

a=(float)c/100;

5樓:匿名使用者

hehe,可以採用這樣的演算法:

1. 找到a的整數和小數部分

2. 求餘

3. 餘數加上小數部分

6樓:

#includemain()

c語言中,一個整型對一個浮點型取餘是怎樣運算的?

7樓:匿名使用者

由於c中提供的取模(%)是用來求兩個整數相除的餘數,所以不存在一個整數使用%對浮點數取餘數,系統編譯不過。要計算一個整數對浮點數取餘數,可以使用fmod函式,**如下,

#include

#include

//輸出4對0.3取餘的結果

int main(int argc, char *ar**)double fmod( double x, double y );函式返回引數x/y的餘數,需要新增math.h標頭檔案。

8樓:匿名使用者

首先說說明下,取餘運算是能是2個整數來運算。在表示式中同優先順序的運算子是從左往右依次運算的,就像你這個7%1/2最終是等於0,7%2/4剛等於0

9樓:湛藍水晶

你舉的例子不是整型對浮點做%.

7%1/2等價於 (7%1)/2 = 0/2 = 0;

如果是想問 7%0.5,那是編譯錯誤,%操作符不能用於浮點數

10樓:

不是對浮點型取餘,7%1/2是先執行7%1然後執行0/2

11樓:淺夏微涼耶

c語言中,取餘要求是整型對整型的操作

12樓:紅夏蘭忻民

不是,如果均為整型那所得結果也為整型,即使不能整除只取整數部份。如果除數或被除數中有一個為浮點型或double型結果就會是精度更高的那類

c語言裡面%求餘是怎麼運算的?

13樓:天雲一號

運算子%的運算結果就是左運算元除以右運算元後所得的餘數。

下面舉一個通例來說明:

a%b 假設a/b=c(餘數為d)

對於上面的例子,左運算元為a,右運算元為b,那麼a%b後的結果為d。

值得注意的是運算子%的左右運算元必須都為int型。

運算子%最基本的應用就是判斷奇偶性(a%2),還有就是用在迴圈連結串列和迴圈佇列中,用於判斷節點的位置。

14樓:天狼星丶惡魔

40/23=1餘17

a%b意思是得到a除於b的餘數;a%b=17(17即是餘數)a/b是a除b得到的商;a/b=1(1.4814814814815)因為輸出是%d,%d是整數,所以只會顯示1只有%f和%lf才有顯示小數

15樓:匿名使用者

舉個例子把 40%23 因為40=23*1+17 也就是說40裡只有一個23 剩下的就是17 於數就是求這個刨去所有23的個數剩下的數 不知道樓主問的是不是這個 求於數額 小學數學額。。。。

16樓:匿名使用者

求餘數40-⌊40/23⌋*23=40-1*23=17

⌊ ⌋為取整

17樓:匿名使用者

你都知道%是求餘,50除23餘數是4吧,40除23餘數是17啊。

18樓:

對求餘數用的:

50/23 = 2……4(2餘4)

40/23 = 1……17(1餘17)

19樓:匿名使用者

20樓:來自天險河幽韻撩人 的風信子石

a%b a除以b取餘,餘數即得出的結果。

21樓:膽大的小嘍嘍

打個比方

當a=21時(a%7==0)就是a可以除下7,並且餘數為0

當a=22時(a%7==1)就是a可以除下7,並且餘數為1

例如:int a;

for(a=1;a<=10;a++)

if(a%2==0)答案等於2 4 6 8 10

例如2:

int a;

for(a=1;a<=10;a++)

if(a%3==1)答案等於1 4 7 10

以此理解!

希望能在學習中幫助你們!!!加油

c語言裡如何求餘數?

22樓:匿名使用者

c語言有一個取餘運算子 % ,稱之為「模」運算子。a % b 表示 用b來整除a,商整數,得到餘數。只有兩個整數之間才可以進行模運算!

c語言運算子是說明特定操作的符號 ,它是構造c語言表示式的工具。c語言的運算異常豐富,除了控制語句和輸入輸出以外的幾乎所有的基本操作都為運算子處理。除了常見的三大類,算術運算子、關係運算子與邏輯運算子之外,還有一些用於完成特殊任務的運算子,比如位運算子。

23樓:

求商為 c=a/b;

24樓:

a/b餘數為c,用c語言描述為:

c=a%b;

"%"為求餘運算子

25樓:遺忘與茗記

a%b,就是a除以b求餘數

26樓:

11除以10 商1 餘1

25除以10 商2 餘1

4除以10 商0 餘4

得到的商就是整除結果 ,後面餘數就是取餘的結果11/10=1 11%10=1

25/10=2 25%10=5

4/10=0 4%10=4

27樓:伊·梵

#include

#include

void main()

while(r!=0)

printf("最大公約數為%d\n",n);}

c語言怎麼能把字串轉化成浮點型資料

使用atof函式 copy。bai 一 描述 c 庫函式 double atof const char str 把引數 str 所指向的字串轉換為一個浮 du點數 型別為 double 型 zhi二 atof 函式的宣告dao double atof const char str 三 引數 str ...

關於c語言裡的求餘求餘是怎麼算的如果731那麼

7 3 1相當於7 3 2餘1 同理4 6 4相當於4 6 0餘4 餘數一定是大於零的 知道了吧 求餘,就是求餘數啊 4 6 的結果是4 為什麼c語言中7 3就會等於1怎麼來的 c語言中 符號叫取餘數,你應該還記得小學數學裡邊,7 3 2.1那個1就是餘數,和這個運算子對應的是 就是除,7 3的結果...

c語言求模運算子的使用方法,C語言中, 取餘運算子也叫取模運算子,用它對某數取餘後,對這個數有影響麼?

求模也就是數學上所謂的除法中的餘數 5 2的話就等於1啦 這是算閏年的程式吧 這裡的求模僅僅是判斷能不能被4整除。17 4 4.1 17 4 1 取模運算子 一個表示式的值除以另一個表示式的值,並返回餘數。number1 number2 引數number1任何整數表示式。number2任何整數表示式...