『壹』 輸入一個數,然後判斷輸出這是一個正數,或者這是一個負數,或者這是0 c語言
#include
#include "StdAfx.h"
void main()
{
float a;
//定義變數
printf("請輸入一個數:\n");//輸入提示
scanf("%f",&a);
//獲取輸入
if(a>0.0)
//大於0
{
printf("%0.1f大於0",a);
}
else if(a<0.0)
//小於0
{
printf("李前%0.1f小於0",a);
}
else
//等讓磨於0
printf("%0.1f等於0"坦擾斗,a);
}
『貳』 c語言編程,輸入一些整數,判斷其中正數與負數的個數,並分別求出正數與負數的平均值
代碼如下:
#include "stdio.h"
main( )
{ int i,iNum,iCount1=0,iCount2=0,iCount3=0;
for(i=1;i<11;i++)
{
printf("請輸入10個數:");
scanf("%d",&iNum);
if (iNum>0)
iCount1++; /*iCount1表示大於0數姿虧*/
else if(iNum<0)
iCount2++; /*iCount2表示小於0的數*/
else
iCount3++; /*iCount3表示等於0的數*/
}
printf("%d,%d,%d",iCount1,iCount2,iCount3);
}
(2)c語言中不知道一個數為正為負擴展閱讀
C語言編程注意事項:
1、當標識符由多個片語成時,每個詞的第一個字母大寫,其餘全部小寫;
2、程序中不得出現僅靠大小寫區分的相似的標識符;
注意相似的數字及字母(0和o,I(i)和l(L))
3、一個函數名禁止被用於其他之處;
4、所有宏定義、枚舉常數、只讀變數全兄扒用大寫字母命名,用下劃線分割單詞;
#define MAX_NUM = 100
5、一般來說,習慣上用n、m、i、j、k等表示int型變數;c、ch等跡塵神表示字元類型變數;a等表示數組;p等表示指針;循環變數用i、j、k。
『叄』 c語言中負數如何表示
c語言中負數表示方法就是在數前加負號「-」,比如:
-5,-10000,等
一個變數賦值為負數也是如此,比如:
x=-1000;
『肆』 用位操作寫一個判斷正負數的C語言代碼
你好,首先要毀敏測試一下你纖型枝編譯器所定義的整型是多少位元組,用sizeof(int)測試一下,一般是4位元組,假如是4位元組說明是32位,這樣無符號和有符號整數區別在於第32位是1還是0,所以可以用一個數0x80000000=1000
0000
0000
0000
0000
0000
0000
0000(32),與租鍵整數做「與&」運算,假如最高位結果是1(即0x80000000),說明原來整數是負數,假如位0則是正數。
所以可以用如下代碼實現
int
yu(int
num)
{
return
(num
&
0x80000000)
;
}
之後在調用函數測試return值就可以了
『伍』 請問C語言中我想把一個正數變為負數怎麼變 例如:9變成-9
確實跟補碼有關
計算機為了使減法變為加法把負數用補碼來存儲(正數也是只不過正數的補碼與原碼相同)
以鍾表為例
例如: 假設當前時針指向10點,而准確時間是6點,調整時間可有以下兩種撥法:
一種是倒撥4小時,即:10-4=6
另一種是順撥8小時:10+8=12+6=6
計算機內部計算類似於上面 它把(-4)變成儲存為12-4=8(即所謂的補碼)
而計算機計算10-4時它就變成10+8=18 而鍾表最大值為12所以18-12=6 於是計算就完成了
(1)正數的補碼:與原碼相同(因為它本身是加數計算機可以計算所以不用變)。
例如,+9的補碼是00001001。
(2)負數的補碼:符號位為1,其餘位為該數絕對值的原碼按位取反;然後整個數加1。(因為它不是是加數計算機不可以計算 所以要變成補碼)
例如,-7的補碼:因為是負數,則符號位為「1」,整個為10000111;其餘7位為-7的絕對值+7的原碼
0000111按位取反為1111000;再加1,所以-7的補碼是11111001。簡單點就是10000000( 128)-0000111(7)=11111001(121)
而C語言中有符號的整數為16位從00000000,00000000 到011111111,11111111 即0到32767為正數所以補碼為原碼
從11111111,11111111 到10000000,00000000
為-1到-32768
『陸』 輸入一個數,然後判斷輸出這是一個正數,或者這是一個負數,或者這是0 c語言
題目是求一個整數的二蔽陵進制中1的個數。
『柒』 在c語言中怎麼表示負數。
第一位符號位1為負,0為正。 正數的補碼和2進制原碼是一樣的。
負數的補碼:
1、先取絕對值|x| ;
2、對|X|+1 ;
3、對|X|+1 取反,就得到它的補碼了 。
計算機中存放整型數據都是按補碼的形式存放的。
(7)c語言中不知道一個數為正為負擴展閱讀:
有符號數的表示方法是由硬體決定,而不是由C決定的。有三種表示方法:
1、二進制原碼
0000 0001 表示 1
1000 0001 表示 -1
這個方法有個缺點是有兩個零: +0 和 -0。這會引起混淆,而且用兩個位組合來表示一個值也有些浪費。
2、二進制補碼(最普遍的系統)
區別在於 singned 和 unsigned:
1)如果是無符號位元組, 1000 0000 該組合為 128
2)如果是有符號位元組, 1000 0000 該組合為 -128
第一種表示數的范圍是 0 ~ 255;
第二種表示數的范圍是 -128 ~ +127,對於一個二進制補碼數取負數,最簡單的方法就是取反、加 1。
3、二進制反碼
通過反轉位組合中的每一位以形成一個數的負數,例如:
0000 0001 表示 1
1111 1110 表示 -1
這種方式也有一個 -0:1111 1111。其范圍是 -127 ~ +127。
『捌』 輸入一個數,判斷正負,C語言寫程序,初學者,不太懂怎麼寫
主函數中這么寫:
int a;
printf("input a number:");
scanf("%d",&a);
if(a>0)printf("%d is 正數.",a);
else if(a==0)printf("%d is 0.",a);
else if(a<0)printf("%d is 負數.",a);
『玖』 用C語言編寫程序 輸入一個整數,判斷正負性及奇偶性並輸出
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
if(n>0)
{
if(n%2) printf("此數為正數且為奇數。");
else printf("此數為正數且為偶數");
}
else if(n<0)
{
if(n%2) printf("此數為負數且為奇數。");
else printf("此數為負數且為偶數");
}
else
{
if(n%2) printf("此數非正非負,為奇數。");
else printf("此數非正非負,為偶數。");
}
}
『拾』 C語言區分int數據正負的問題
類型是對一串二進制位的解釋,這16bit有兩種解釋,有符號整數,有無符號整數。
按有符號數來解釋,最高位是符號位,1表示負數,其值為-20840。
按無符號數來解釋,值為44696。