c語言中怎麼將一組16進位制數加入陣列

時間 2021-08-30 09:11:23

1樓:

例:#include

#include

char sdec[4] = ;

//把 0x05,0xc5,0xb3,0xea 組合成一個十六進位制數 0x05c5b3ea ,

//並且把 0x05c5b3ea  轉換成十進位制數。

unsigned int i,v;

int main() {

v=0;

for (i=0;i<4;i++) v|=((unsigned int)sdec[3-i]&0xffu)<<(i*8);

printf("0x%x,%u\n",v,v);

return 0;

//0x5c5b3ea,96842730

擴充套件資料十進位制字串轉換為十進位制數

char *str = "123";

int n = atoi(str);

printf("%d\n", n);

//輸出:123

2樓:顯示卡色彩校正器

可以在16進位制數前加"0x"然後輸入陣列。

如要在陣列char a[5]中輸入fa,fb,fc,fd,fe,ff五個十六進位制數,可以如下處理:

char a[5] = ;

由於兩位16進位制長度為8bit,正好可以容納一個兩位16進位制數;對於其他型別的陣列,可如法炮製,只需留意資料的範圍。

3樓:金色潛鳥

0*** 就是16進位制數。

#include

main()

;int i;

for (i=0;i<10;i++) printf("%2x ",0xff & a[i]);

return 0;}

4樓:靈慕風

char型別就是8位的int型,可以直接直接複製

char a[10] = ;

5樓:

char a[ ]="\xfa\xfb\xfc\xfd\xfe\xff";

6樓:憶蕭

char a=,,,,,}

7樓:搬磚老鬼

是不是這樣char a="fa,fb,fc,fd,fe,ff"

如何用c語言將一個數轉換成16進位制後放入陣列

8樓:桐秀英蒙賦

把一個十進位制的數轉換成十六進位制的數放進一個整型陣列有什麼作用?

無論是十進位制還是十六進位制,這個數是多少就是多少,和進位制沒有關係啊。

你要想看16進位制的表示,你取出來的時候轉換成16進位制的就可以了。

9樓:慎玉巧勇雀

數只要存進變數中,那都是二進位制的,只不過你列印出來的時候才區分哪種進位制然後轉化。比如說,a

=16;和a

=0x10;沒有區別,所以不需要轉換,因為電腦都會自動轉化成二進位制a=0b

10000;在用的時候直接就可以用;但如果是小數的話就需要轉化成整數了,比如將a==16.1存進b

,結果是b=

0x10;

那就直接寫b

=(int)a;就行

如何用c語言將一個數轉換成16進位制後放入陣列 30

10樓:戶哲茂

數只要存進變數中,那都是二進位制的,只不過你列印出來的時候才區分哪種進位制然後轉化。比如說,a = 16;和a = 0x10;沒有區別,所以不需要轉換,因為電腦都會自動轉化成二進位制a=0b 10000;在用的時候直接就可以用;但如果是小數的話就需要轉化成整數了,比如將a==16.1存進b ,結果是b= 0x10;

那就直接寫b = (int)a;就行

在c語言中,如何在陣列中插入一個數

11樓:匿名使用者

方法為:輸入一個資料x,將陣列中的資料與x逐一比較,如果大於x,記錄下資料的下標,然後此資料下標和其後的資料的下標都加一,相當於都向後挪一位,然後將x賦值給陣列的那個下標。

#include

int main()

int i, j, k, x, a[11] =(3, 6, 7, 9, 12, 14, 15, 27, 29, 31) ;

printf("插入前陣列的資料是:") ;

for(i=0;i<10;i++)

printf("%4d",a[i] ) ;

printf("\n") ;

printf("請輸入要插入的資料:") ;

scanf("%d",&x) ;

for(i=0;i<10;i++)

if(a[i]>x)

break;

for(j=9; j>=i; j--)

alj+1] =alj] ;

a[i]=x;

printf("插入後陣列的資料是:") ;

for(i=0; i<11; i++)

printf("%4d",[i] ) ;

return 0;

12樓:理暄妍果揚

程式1:這個是輸入10個數

先排序再插入一個數

再排序陣列

大小你可以自己更改

#include

void

main()

for(i=0;i<10;i++)

printf("%d

",a[i]);

scanf("%d",&m);

for(i=0;i<10;i++)

if(a[i]>m)

a[10]=m;

for(i=0;i<11;i++)

printf("%d

",a[i]);

printf("\n");

}程式2:如果題中已給排好序的陣列

不必自己輸入的話

#include

void

main()

;int

temp1,

temp2,number,end,i,j;

printf("array

a:\n");

for(i=0;i<10;i++)

printf("%5d",a[i]);

printf("\n");

printf("insert

date:");

scanf("%d",&number);

end=a[9];

if(number>end)

a[10]=number;

else

break;}}

}printf("now,array

a:\n");

for(i=0;i<11;i++)

printf("%d

",a[i]);}

13樓:傑遜漂流記

有一個已排好序(從大到小)的陣列有5個元素,從鍵盤輸入一個數,要求按原排序的規律將它插入到陣列中。1.#includevoid main(; scanf("%d",&x);for(i=0;i<5;i++) if(x2.

j=i; /*當這個數比當前數小時,用j記住當前位置,即j=i,中斷迴圈。……

14樓:招鵬鯨清可

#include"stdio.h"

#include"string.h"

void

main()

;//////////這裡定義陣列的時候,要寫上11,否則會認為該陣列只有10個元素,那樣的話,無法對其進行插入的。其他地方沒有錯誤

inti,j,temp,n;

for(i=0;i<10;i++)

for(j=0;j<9-i;j++)

if(a[j]>a[j+1])

printf("按從小到大的排列順序為:\n");

for(i=0;i<10;i++)

printf("%d

",a[i]);

printf("請輸入你想插入陣列的數字:");

scanf("%d",&n);

for(i=0;i<10;i++)

if(n

=i;j--)

a[j+1]=a[j];

break;

}a[i]=n;

for(i=0;i<11;i++)

printf("%d

",a[i]);

printf("\n");}

15樓:匿名使用者

樓主能說具體點嗎。有很多方法,比如用字串連線的函式,strc...什麼什麼的函式,還可以直接插入一個數,和陣列中的數比較大小

16樓:匿名使用者

比如在第n個數中插入一個m

c語言 一組陣列(存入的值都是1或0),將這一組陣列所表示的2進位制轉換成16進位制

17樓:

#include

#define n 4

int main(int argc, char const *argv)

;int rt = 0;

for (int i = 0; i < n; ++i)rt = rt*2 + buf[i];

printf("%d\n", rt);}

18樓:

int a[32]=;

int n=0;

for(int i=0;i<32;i++)printf("n=%x",n);

在C語言中,輸入十進位制數,將其轉化為二進位制數,八進位制數,十六進位制數,並輸出(要求用函式來實現)

老馮文庫 c語言程式 include include include define max 33 char signs 十進位制數轉換為二進位制數 字串表示 char dectobin long num 十進位制數轉換為八進位制數 字串表示 char dectooct long num 十進位制數轉...

C語言逆向輸出數字,C語言中,怎麼將乙個數反向輸出

include stdio.h int main printf n 輸出1行後換行 else 輸入的是偶數 printf n n 2 i 3 以4為例,輸出第1行後,n變成3,所以要加上2 0 3變成6 輸出第2行後,n變成4,加上2 1 3變成9if n 10 n 9 輸出第3行後,n變成6,加上...

C語言中 用陣列編寫「輸入一組資料,先排序,再輸入數插入其中,再排序,怎麼寫啊?」各位幫忙吧!先

include int sort int a,int n int insert int a,int n n為陣列裡原來的元素個數,k為插入的位置從左編號0開始 int main 這樣?vectorvecdata copy istream iterator cin istream iterator b...