本文主要是介绍ACM/STEPS A+B Coming,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#include<iostream>
#include<string>
using namespace std;
int fun(char ch)
{
if(ch>='0'&&ch<='9')
return ch-'0'; //把16进制中0-9转换成数字。
else
{
ch=toupper(ch); //int toupper(int c); 用法:#include <ctype.h> 功能:将字符c转换为大写英文字母
return ch-'A'+10; //把16进制中的A-F转换成数字。
}
}
//16进制数转换成10进制数。
int fun2(int k)
{
int i,ans=1;
for(i=1;i<=k;i++)
{
ans*=16;
}
return ans;
}
int main()
{
int n,i,j,lenth1,lenth2,a,b;
char ch1[1000],ch2[1000];
while(cin>>ch1>>ch2)
{
lenth1=strlen(ch1);
lenth2=strlen(ch2);
a=b=0;
for(i=0,j=lenth1-1;i<lenth1;i++,j--)
{
a+=fun(ch1[i])*fun2(j);
}
for(i=0,j=lenth2-1;i<lenth2;i++,j--)
{
b+=fun(ch2[i])*fun2(j);
}
cout<<a+b<<endl;
}
return 0;
}
这篇关于ACM/STEPS A+B Coming的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!