首页 > 专题系列 > C基础练习 > C语言程序设计-进制转换[函数应用]
2013
11-19

C语言程序设计-进制转换[函数应用]

10053 进制转换

【问题描述】对输入的两个十六进制数(两个字符串),将其转换成十进制后再求和。要求十六进制到十进制的转换功能由函数完成。例如:输入3a1转换为十进制后为929,80转换为十进制后为128,所以和为1057。

【输入形式】输入包括两行,每行为一个十六进制数。注意:本题中的十六进制数中的英文字符以小写字母表示。
【输出形式】输出包括一行,为两数之和的十进制表示。
【样例输入】3a1
                    80
【样例输出】1057
【样例说明】16进制数3a1和80转换为10进制数之后的和为1057(输出该数时后面不加换行符)。
【评分标准】本题共4个测试点,每个测试点0.25分,共1.0分。

//============================================================================
// Name        : 10053-c.cpp
// Author      : coder
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
char num1[100],num2[100];
int getN(char c){
	if(c >= '0' && c <= '9') return c-'0';
	else return 10+ (c-'a');
}
int getD(char num[100]){
	int pow = 1;
	int d = 0;
		for(int i=strlen(num)-1; i>=0; i--){
			d += getN(num[i]) * pow;
			pow *= 16;
		}
		return d;
}
int pow[100];
int main() {
	scanf("%s\n%s",num1,num2);
	printf("%d\n", getD(num1) + getD(num2));
	return 0;
}

 

 


  1. A猴子认识的所有猴子和B猴子认识的所有猴子都能认识,这句话用《爱屋及乌》描述比较容易理解……

  2. 第2题,TCP不支持多播,多播和广播仅应用于UDP。所以B选项是不对的。第2题,TCP不支持多播,多播和广播仅应用于UDP。所以B选项是不对的。