写一个自定义函数,将输入的十六进制数转换成十进制数并输出?

如题所述

#include <stdio.h>

int hex2dec(char *s)

{

    int n;

    for(n=0;*s;s++)

    {

        if(*s>='0'&&*s<='9')

            n=n*16+*s-'0';

        else if(*s>='a'&&*s<='f')

            n=n*16+*s-'a'+10;

        else if(*s>='A'&&*s<='F')

            n=n*16+*s-'F'+10;

    }

    return n;

}

int main()

{

    char s[10];

    scanf("%s",s);

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

    return 0;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2022-12-08

#include<stdio.h>

int main(){

int a;

scanf("%x",&a);

printf("%d",a);

return 0;

}

写一个自定义函数,将输入的十六进制数转换成十进制数并输出?
int hex2dec(char *s){ int n;for(n=0;*s;s++){ if(*s>='0'&&*s<='9')n=n*16+*s-'0';else if(*s>='a'&&*s<='f')n=n*16+*s-'a'+10;else if(*s>='A'&&*s<='F')n=n*16+*s-'F'+10;} return n;} int main(){ char s[10];scanf("%s",s);printf...

写一个函数,输入十六进制数,输出相应的十进制数
sum+=num*pow(16,j),i++,j--);printf("Decimal number:%.0f\\n",sum);} 方法二、include<stdio.h> void xtod(int x);\/\/定义转制函数 int main(){ int i;scanf("%x",&i);\/\/输入一个十六进制数 xtod(i);\/\/调用转制函数 return 0;} \/\/转制函数 void xtod(int x){ printf(...

编写一函数,使输入的十六进制转换为十进制并输出。
int i(0), num(0), ndec(0);cout<<"输入一个十六进制的串:";gets(hex);printf("十六进制串为:%s\\n", hex);HexToDec(hex, dec);printf("十进制数:%s\\n", dec);} 试试这个,思路蛮简单,谢谢!!!

...自定义函数,要求输入一个十六进制数,输出相应的十进制数,用指针实现...
int Hex2Dec(char *s){ int x=0;while ( *s ){ x*=16;if ( ((*s)>='0')&&((*s)<='9') ) x+=(*s)-'0';else if ( ((*s)>='A')&&((*s)<='F') ) x+=(*s)-'A'+10;else if ( ((*s)>='a')&&((*s)<='f') ) x+=(*s)-'a'+10;else break;s...

写一个函数,输入一个十六进制的数,输出相应的十进制数
int main(){ char a[10];void convert(char a[]);printf("请输入十六进制数:");gets(a);\/\/输入十六进制数 convert(a);return 0;} void convert(char a[]){ int n,i,num=0;n=strlen(a);for(i=n-1;i>=0;i--){ if(a>='0'&&a<='9')num+=(a-'0')*pow(16,n-1-i)...

C语言写一个函数,16进制转十进制
C语言16进制转十进制具体函数如下:include "stdio.h"int main(){ int num=0;int a[100];int i=0;int m=0;int yushu;char hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};printf("请输入一个十进制整数:");scanf("%d",&...

...至十进制数的转换.在主函数中输入十六进制数,输出相应的十进制数...
if(num>N-1){ HEX_DEC(num\/N,N);} printf("%d",num%N);} void main(){ int num;printf("输入一个十六进制的数\\n");scanf("%x",&num);printf("直接用%%d输出:%d\\n",num);printf("用函数输出:");HEX_DEC(num,10);\/\/转换成几进制就把第二个参数换成几 printf("\\n");syste...

用c语言写一个函数,输入16进制,输出相对应的10进制
y;}void main(){ char a[N]; puts("输入一个十六进制数(只能含有0-9,a-f,A-F):"); scanf("%s", a); int b = change(a, strlen(a)); printf("其对应的十进制数为: %d\\n", b); getchar(); getchar();}2 运行结果希望对你有帮助~...

写出一个函数,将输入的十六进制数转换成十进制数。要求函数形参用引用...
num = num*16 + (a+i)-'a'+10;}else{ return -1;\/\/表示输入错误的数 } } return num;} void main(){ char a = new char[20];cout<<"请输入一个十六进制数:";cin>>a;int num = htod(a);if(num !=-1){ cout<<"输入的数的十进制数为:"< 评论 0 0 0 加载更多 ...

写一个函数,输入一个十六进制数,输出相应的十进制数
int main(){ char a[10];void convert(char a[]);printf("请输入十六进制数:");gets(a);\/\/输入十六进制数 convert(a);return 0;} void convert(char a[]){ int n,i,num=0;n=strlen(a);for(i=n-1;i>=0;i--){ if(a>='0'&&a<='9')num+=(a-'0')*pow(16,n-1-i)...

相似回答
大家正在搜