C语言写一个函数,16进制转十进制

下面肯定是错的,那个给个正确的。 不要太复杂啊,刚学C。 最好在这个上面修改。 #include<stdio.h> void main() {int exchange(int s); int c,x; scanf("%d",&c); x=exchange(c); printf("%d\n",x);} exchange(int s) {int n=0; if(s>='0'&&s<='9')n=n*16+s-'0'; if(s>='a'&&s<='f')n=n*16+s-'a'+10; if(s>='A'&&s<='F')n=n*16+s-'A'+10; return(n);} 我会加分的~!

第1个回答  2020-02-28
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",&num);
while(num>0)
{
yushu=num%16;
a[i++]=yushu;
num=num/16;
}
printf("转化为十六进制的数为:0x");
for(i=i-1;i>=0;i--)//倒序输出
{
m=a[i];
printf("%c",hex[m]);
}
printf("\n");
}
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言写一个函数,16进制转十进制
hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};printf("请输入一个十进制整数:");scanf("%d",&num);while(num>0){ yushu=num%16;a[i++]=yushu;num=num\/16;} printf("转化为十六进制的数为:0x");for(i=i-1;i>=0;...

c语言16进制转换为10进制数的函数是什么?
1、可以根据16进制转10进制的算法(即各位位码值乘以位权之和)来实现该功能。2、具体实现方法可以参考如下程序:include <stdio.h>void main(){ int he; int re=0; \/\/ 保存转换为10进制的结果 int k=16; \/\/ 16进制 int n=1; \/\/ 位权 scanf("%d", &he); ...

C语言 写一个函数 输入一个十六进制数 输出相应的十进制
sum+=num*pow(16,n-1-i);printf("转换结果:\\n%d",sum);} int main(){ char arr[10];printf("请输入十六进制数:\\n");gets(arr);conver(arr);return 0;}

写一个函数,输入十六进制数,输出相应的十进制数
include<string.h> void xtod(char s[]);\/\/定义转制函数 int main(){ char str[10];printf("Please enter Hex number:");\/\/输入一个字符串 scanf("%s",str);xtod(str);\/\/调用转制函数 return 0;} \/\/转制函数 void xtod(char s[]){ int i,j,n=strlen(s);double num[10],sum;...

c语言16进制转换为10进制数的函数是什么?
方案一:include<stdio.h>#include<math.h>#include<string.h>intmain(){chars[50];scanf("%s",s);intt=strlen(s);longsum=0;for(inti=0;i<t;i++){if(s[i]>='A'&&s[i]<='Z')s[i]=int(s[i]-'A')+10+'0';sum+=((s[i]-'0')*(pow(16,t-1-i)));}printf("%ld...

用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 运行结果希望对你有帮助~...

C语言设计一函数,该函数根据16进制字符串,计算出对应的10进制数。
void main(){ char a[100];int b,i=0;gets(a); \/\/不能输入空格,以回车键结束输入 b=sixteen2ten(a); \/\/调用转换函数 printf("%d",b);} int sixteen2ten(char a[]){ int n,i,k;n=strlen(a); \/\/获取总长度 for(i=n-1,k=0;i>=0;i--,k++){ c=transfer(a[...

用C语言实现16进制转化为10进制?
C语言程序中,十进制和十六进制实际是互通的。十六进制数由数字0~9、字母A~F(或a~f)组成。把十六进制数按权展开、相加即得十进制数。现实中十六进制数和十进制数不可以直接相加,如是在电脑上的话是可以的,何种进制数在电脑上都是以二进制的形式表示的,在电脑编写程序时是可以相加的。十进制数...

如何把16进制数转化为10进制,c语言编写
16进制数转10进制数原理:某16进制数共n位,第n位表示为Xn。转换后的10进制数表示为Y。Y = Xn×16^0 + Xn-1×16^1 + Xn-2×16^2 + …… + X1×16^n-1。include <stdio.h>#include <math.h>#include <string.h>\/* 任意进制数转十进制数 *\/\/* char *value : 其他进制数 *\/...

C语言编程:写一个函数,输入一个16进制数,输出相应的10进制数。
include<string.h> define N 1000 char str[N];int a[N],b[N];int main(void){ void zsh();long ycl();int i,n;do{ printf("请输入一个十六进制数:\\n");scanf("%s",str);for(i=0,n=0;str[i]!='\\0';i++)if(str[i]<'0'||(str[i]>'9'&&str[i]<'A')||(str[...

相似回答
大家正在搜