㈠ c語言如何判斷整數
c語言判斷兩數相除結果是否為整數可採用模運算。
%是C語言提供的「模運算」符,如8%5表示8整除5,取其餘數,結果為3
C語言要求參與模運算符兩端的數,必須是整型類數據,如:char short int long, unsigned這些類型,不能是浮點類型數據。
如,判斷一個數除以100後是不是整數,(該數是不是100的整數倍,或該數能否整除100),C判斷語句可寫成:
intx;
scanf("%d",&x);
if(x%100==0)
printf("%d是100的倍數 ",x);
else
printf("%d不是100的倍數 ",x);
㈡ 怎麼用c語言判斷一個數是否為整數(這個數是開平方出來的)
因為實型和整型變數是不能直接比較的,要做一步類型轉換才能比較首先要明確允許的誤差是多少。比如一般情況誤差的絕對值小於10-8時我們可以認為兩個實數是相等的。
代碼如下
#include<stdio.h>
#include<math.h>
main()
{
floatb,c;
c=1;
while(c>=0)//如果輸入小於0,就結束程序
{
scanf("%f",&c);
b=sqrt(c);
if(fabs(b-(int)b)<1e-8)printf("%.0f的開平方是個整數 ",c);
elseprintf("%.0f的開平方不是整數 ",c);
}
}
結果
㈢ C語言,判斷輸入的數是否是正整數
思路是:一個小數浮點變數和一個整型變數。輸入浮點變數,先然後將浮點變數中存儲的數賦值到整型變數中,整型變數自動去除小數部分。將兩者比較,如果浮點變數等於整形變數,並且還要看一下是不是正數。如果滿足這兩點,就說明浮點變數小數點後沒有數,而且是正數,就輸出「是正整數」。否則直接輸出「不是正整數。」。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a;
float b;//用小數變數
scanf("%f",b);
a=b;//去除小數部分
if(a==b&&a>0){//沒有小數的和有小數的比,並且判斷是不是正數。
//說明小數部分是0,而且是正數
printf("是正整數");
}else{
printf("不是正整數");
}
return 0;
}
我是C++語言,不習慣C語言,這裡面好多錯誤,你也可以改正一下。(這道題的思路我是正確的。)