以下为运行结果:
????????
C语言实现16进制转10进制
来源:互联网 浏览:55次 时间:2023-04-08
#include<stdio.h>#include<string.h>#include<math.h>int func(char a[]){ int n = strlen(a);//判断字符串的长度函数 int i, j = 0, num = 0; for (i = 0; i < n; i++) { if (a[i] == 'A') num += 10 * pow(16, n - i - 1); //pow() 函数用来求 x 的 y 次方的值。 else if (a[i] == 'B') num += 11 * pow(16, n - i - 1); else if (a[i] == 'C') num += 12 * pow(16, n - i - 1); else if (a[i]=='D') num += 13 * pow(16, n - i - 1); else if (a[i] == 'E') num += 14 * pow(16, n - i - 1); else num += 15 * pow(16, n - i - 1); } return num;}void main(){ char a[10]; printf("请输入一个16进制的数:\n"); gets_s(a);//gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取 printf("%d\n", func(a));}