㈠ 用c語言編程(輸入一個四位數,求出它的個位、十位、百位、千位)
C代碼:---------------------
int a;
scanf("%d",&a);
printf("個位:%d,十位:%d,百位:%d,千位:%d",a%10,a%100/10,a%1000/100,a/1000)
--------------------------------
VC++中代碼如下:
#include "stdafx.h"
#include
int main(int argc, char* argv[])
{
int a;
scanf("%d",&a);
printf("個位:%d,十位:%d,百位:%d,千位:%d",a%10,a%100/10,a%1000/100,a/1000);
system("pause");
return 0;
}
C語言有以下幾種取整方法:
1、直接賦值給整數變數。如:
int i = 2.5; 或 i = (int) 2.5;
這種方法採用的是捨去小數部分,可以用於你的問題。
2、C/C++中的整數除法運算符"/"本身就有取整功能(int / int),而下面介紹的取整函數返回值是double。整數除法對正數的取整是捨去小數部分,但是整數除法對負數的取整結果和使用的C編譯器有關。
3、使用floor函數。floor(x)返回的是x的整數部分。如:
floor(2.5) = 2
floor(-2.5) = -3
4、使用ceil函數。ceil(x)返回的是不大於x的最小整數。如:
ceil(2.5) = 2
ceil(-2.5) = -2
floor和ceil對於正數沒有區別,但是對於負數結果不同。floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。
㈡ 用c語言如何表示出一個數的個位,百位,十位
如果n是個多位十進制數,那麼n%10是個位數字,n/10%10是十位數字,n/100%10是百位數字,依此類推。
設一個數為n,則在C語言中其個位、十位、百位、千位依次這樣計算:n/1%10,n/10%10,n/100%10,n/1000%10
代碼如下:
#include<stdio.h>
int main(){
int n = 123456;
int unitPlace = n / 1 % 10;
int tenPlace = n / 10 % 10;
int hundredPlace = n / 100 % 10;
int thousandPlace = n / 1000 % 10;
printf("個位:%d
十位:%d
百位:%d
千位:%d
", unitPlace, tenPlace, hundredPlace, thousandPlace);
getchar();
return 0;
}
(2)編程中十位怎麼表示擴展閱讀:
C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。
㈢ 計算機二進制,十進制,八進制,十六進制怎麼轉換
1、二進制轉換為十進制
二進制數00111從低位到高位的位權依次是2的0次冪1、2的1次冪2、2的2次冪4、2的3次冪8、2的4次冪16。
理解了二進制計數的基數和位權,就可以進行數制轉換了。00111如何轉換成十進制計數呢?轉換很簡單,將二進制數從高位到低位每個數字乘以相應的位權然後求和就可以了。
00111(二進制)= 0 * 2^(5-1) + 0 * 2^(4-1) + 1 * 2^(3-1) + 1 * 2^(2-1) + 1 * 2^(1-1)
= 0 * 16 + 0 * 8 + 1 * 4 + 1 * 2 + 1 * 1
= 7(十進制)
2、十進制轉換為二進制
十進制整數到二進制整數的轉換可以採用「除2取余,逆序輸出」法,
具體轉換過程是,用2去除一個十進制數,得到商和余數,然後再用2去除商,又會得到商和余數,循環往復直至商為0為止。如果是十進制小數轉二進制小數,則採用「乘2取整,順序輸出」。轉換過程如下圖所示:
3、二進制和八進制之間的轉換
二進制轉八進制:取三合一法,即從二進制的小數點為分界點,向左(向右)每三位取成一位,接著將這三位二進制按權相加,然後,按順序進行排列,小數點的位置不變,得到的數字就是我們所求的八進制數。
如果向左(向右)取三位後,取到最高(最低)位時候,如果無法湊足三位,可以在小數點最左邊(最右邊),即整數的最高位(最低位)添0,湊足三位。
4、八進制轉二進制:取一分三法,即將一位八進制數分解成三位二進制數,用三位二進制按權相加去湊這位八進制數,小數點位置照舊。
5、二進制和十六進制之間的轉換
二進制轉十六進制:取四合一法,即從二進制的小數點為分界點,向左(向右)每四位取成一位,接著將這四位二進制按權相加,然後,按順序進行排列,小數點的位置不變,得到的數字就是我們所求的十六進制數。
如果向左(向右)取四位後,取到最高(最低)位時候,如果無法湊足四位,可以在小數點最左邊(最右邊),即整數的最高位(最低位)添0,湊足四位。
6、十六進制轉二進制:取一分四法,即將一位十六進制數分解成四位二進制數,用四位二進制按權相加去湊這位十六進制數,小數點位置照舊。
7、十進制和八進制之間、十進制和十六進制之間都是先把十進制轉換為二進制,然後在轉換為八進制或者十六進制。
(3)編程中十位怎麼表示擴展閱讀
某進制計數制允許選用的基本數字元號的個數成為基數。一般來說,N進制的基數為N,可進行選用的基本數字元號有N個,分別為0到N-1。
比如十六進制的基數為16,可供選擇的基本數學符號為0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六個。
位權是指,該進位制中每一固定位置對應的單位值,簡稱為權。
以十進制計數制來說,計數單位分別為個位、十位、百位、千位、萬位、十萬位……,其中個位數表示數值1、十位數表示數值10、百位數表示數值100、千位數表示數值1000、……,每個位數表示的數值叫位權。
位權通過計算基數的n-1次冪就可以得到,這里的n是指位數所在數字中的位置。在十進制中就是10的(n-1)次冪。
例如,對十進制數1260來說,個位數是1260的第一個數字,因此n為1;十位數是第二個數字,因此n為2;百位數是第三個數字,因此n為3;千位數是第四個數字,因此n為4。
由此,個位數的位權為10的1-1次冪是1,十位數的位權為10的2-1次冪是10、百位數的位權為10的3-1次冪是100、千位數的位權為10的4-1次冪是1000。
1260 = 1 * 10^(4-1) + 2 * 10^(3-1) + 6 * 10^(2-1) + 0 * 10^(1-1)
= 1 * 1000 + 2 * 100 + 6 * 10 + 0 * 1
= 1000 + 200 + 60 + 0
㈣ 編程10進制怎麼理解
是說二進制吧?十進制就是有9個數,0123456789,到9進位變10,二進制只有兩個數0、1,到1就要進位變10,就是0、1、10、11、100、101、110、111.。。。。。,你把二進制的1當作是9就好理解一些了