有C语言编写一函数,输入一十六进制数,输出相应的十进制数
答案:2 悬赏:40 手机版
解决时间 2021-06-07 10:46
- 提问者网友:动次大次蹦擦擦
- 2021-06-07 00:23
有C语言编写一函数,输入一十六进制数,输出相应的十进制数
最佳答案
- 五星知识达人网友:有你哪都是故乡
- 2021-06-07 00:30
#include<stdio.h>
void main(){
int i=0;
int value=0;
char ch[10];
printf("请输入一个16进制数:");
gets(ch);
while (ch[i])
{
if(ch[i]>='A'&&ch[i]<='F')
value=(ch[i]-55)+16*value;
else if(ch[i]>='a'&&ch[i]<='f')
value=(ch[i]-87)+16*value;
else if(ch[i]>='0'&&ch[i]<='9')
value=(ch[i]-48)+16*value;
else
{
printf("输入有误\n");
break;
}
i++;
}
printf("十进制数为%d\n",value);
}
void main(){
int i=0;
int value=0;
char ch[10];
printf("请输入一个16进制数:");
gets(ch);
while (ch[i])
{
if(ch[i]>='A'&&ch[i]<='F')
value=(ch[i]-55)+16*value;
else if(ch[i]>='a'&&ch[i]<='f')
value=(ch[i]-87)+16*value;
else if(ch[i]>='0'&&ch[i]<='9')
value=(ch[i]-48)+16*value;
else
{
printf("输入有误\n");
break;
}
i++;
}
printf("十进制数为%d\n",value);
}
全部回答
- 1楼网友:患得患失的劫
- 2021-06-07 02:02
#include "stdio.h"
int main()
{ char *Str;
int lenth;
int i;
int sum;
printf("请输入你要转换的16进制数字:");
gets(Str);
sum=0;
lenth=strlen(Str);
for(i=1;i<=lenth;i++)
{
switch(Str[lenth-i])
{
case "0":sum=sum+0*16^(lenth-i);break;
case "1":sum=sum+1*16^(lenth-i);break;
case "2":sum=sum+2*16^(lenth-i);break;
case "3":sum=sum+3*16^(lenth-i);break;
case "4":sum=sum+4*16^(lenth-i);break;
case "5":sum=sum+5*16^(lenth-i);break;
case "6":sum=sum+6*16^(lenth-i);break;
case "7":sum=sum+7*16^(lenth-i);break;
case "8":sum=sum+8*16^(lenth-i);break;
case "9":sum=sum+9*16^(lenth-i);break;
case "A":sum=sum+10*16^(lenth-i);break;
case "B":sum=sum+11*16^(lenth-i);break;
case "C":sum=sum+12*16^(lenth-i);break;
case "D":sum=sum+13*16^(lenth-i);break;
case "E":sum=sum+14*16^(lenth-i);break;
case "F":sum=sum+15*16^(lenth-i);break;
default:{printf("error\n");return(0);}
}
}
printf("\n此16进制对应的10进制数为:%d\n",sum);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯