欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

C語言編程怎么把一個十進制數轉換成為一個十六進制數?

方一強2年前25瀏覽0評論

第一種:用來糊弄老師的,輸入一個數采用16進制格式輸出

#include

intmain()

{

intnum=0;

scanf("%d",&num);

printf("%x",num);

return0;

}

第二種:

#include

#include

charoNumTable[6]={'A','B','C','D','E','F'};

voiddToO(int,char*);

intmain()

{

intdNum;

charoNum[100]={0};

//輸入一個十進制數

scanf("%d",&dNum);

//調用轉換函數,將十進制轉換成以字符串表示的十六進制

dToO(dNum,oNum);

//輸出以字符串表示的16進制數據

printf("%s\n",oNum);

return0;

}

voiddToO(intdNum,char*oNum)

{

chartemp[100]={0};

for(inti=0;(dNum)&&(i

temp[i]=(dNum%16);

if(temp[i]>9){

temp[i]=oNumTable[temp[i]-10];

}

else{

temp[i]+='0';

}

dNum/=16;

}

char*p=temp;

while(*(p+1))p++;

for(inti=0;p!=temp-1;i++,p--){

oNum[i]=*p;

}

}

//下面是10進制轉換成任意進制數

#include"stdio.h"

main()

{

inti=0,m,n,r,a[40];

charstr[16]="0123456789ABCDEF";

printf("\n請輸入一個整數和要轉換成的進制數\n");

scanf("%d%d",&m,&r);/*r代表進制數*/

if(m<0)

{printf("%c",'-');

m=-m;}/*判斷是否輸入的是負數*/

do{

a[i++]=m%r;

m=m/r;}while(m>0);/*m對r取余數,再除以r*/

printf("轉換結果是:\n");

for(n=i-1;n>=0;n--)

printf("%c",str[a[n]]);

}

//夠簡單吧!