评测点序号 评测结果 得分 CPU使用 内存使用 下载评测数据
1 正确 25.00 0ms 824.0KB 输入 输出
2 正确 25.00 15ms 824.0KB VIP特权
3 正确 25.00 0ms 824.0KB VIP特权
4 正确 25.00 0ms 824.0KB VIP特权
#include <stdio.h>
double pinfang(int k) {
if(k==0) return 1;
if(k==1) return 16;
if(k==2) return 16*16;
return 16*pinfang(k-1);
}
int main() {
int i,j,k=0,c[8];
double sum=0;
char a[8],b[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
scanf("%s",&a);
for(i=0;i<=8;i++) {
if(a[i]=='\0') break;
for(j=0;j<=16;j++) {
if(a[i]==b[j]) {
c[k]=j;
k++;
break;
}
}
}
for(i=0;i<k;i++) {
sum+=pinfang(k-i-1)*c[i];
}
printf("%.0lf\n",sum);
return 0;
}
本文介绍了一个简单的C语言程序,该程序能够将输入的十六进制字符串转换为对应的十进制数值。通过递归计算16的幂次来实现转换,并使用字符数组来匹配十六进制字符。
969

被折叠的 条评论
为什么被折叠?



