c語言編寫十進制轉16進制?代碼一:#include <stdio.h>,今天小編就來聊一聊關于c語言編寫十進制轉16進制?接下來我們就一起去研究一下吧!
代碼一:
#include <stdio.h>
#include <math.h>
#include <string.h>
void convert(char a[]) //十六進制 轉 十進制
{
int i,t;
long sum=0;
for(i=0;a[i];i )
{
if(a[i]>='0'&&a[i]<='9')
// num =(a[i]-'0')*pow(16,n-1-i);
t=a[i]-'0';
else if(a[i]>='A'&&a[i]<='F')
// num =(10 (a[i]-'A'))*pow(16,n-1-i);
t=a[i]-'A' 10;
else if(a[i]>='a'&&a[i]<='f')
// num =(10 (a[i]-'A'))*pow(16,n-1-i);
t=a[i]-'a' 10;
sum=sum*16 t;
}
printf("轉換十進制為:");
printf("%d",sum);
}
int main( )
{
char a[10];
void convert(char a[]);
printf("請輸入十六進制數:");
gets(a); //輸入十六進制數數組
convert(a); //轉換數組
return 0;
}
代碼二:
#include<stdio.h>
#define N 50
long fun(char *s)
{
int i,t; //t記錄臨時加的數
long sum =0;
for(i=0;s[i];i )
{
if(s[i]>='0'&&s[i]<='9')
t=s[i]-'0'; //當字符是0~9時保持原數不變
if(s[i]>='a'&&s[i]<='z')
t=s[i]-'a' 10;
if(s[i]>='A'&&s[i]<='Z')
t=s[i]-'A' 10;
sum=sum*16 t;
}
return sum;
}
int main()
{
int m;
char s[N]; //字符串與字符數組相結合的方式
printf("Enter 16進制數:");
scanf("%s",s); //注意此處%s
m=fun(s);
printf("%d",m);
}
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!