码迷,mamicode.com
首页 > 其他好文 > 详细

hdu ACM Steps 1.2.3 A+B Coming

时间:2017-06-11 18:19:19      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:scan   printf   com   模拟   name   div   str   string   logs   

模拟题。

16进制转化为10进制相加。toupper函数为小写转换为大写,isalpha函数判断是否为字母。

#include<cstdio>
#include<cstring>
#include<cctype>
using namespace std;
const int maxn = 100 + 10;
const int base = 16;

char s[5][maxn];
int a,b;

int trans(int m) {
    int ans=0,n=strlen(s[m]);
    for(int i=0;i<n;i++) {
        if(isalpha(s[m][i])) {
            s[m][i]=toupper(s[m][i]);
            ans+=(s[m][i]-A+10);
        }
        else ans+=(s[m][i]-0);
        ans*=base;
    }
    ans/=base;
    return ans;
}

int main() {
    while(scanf("%s",s[1])!=EOF) {
        scanf("%s",s[2]);
        a=trans(1);
        b=trans(2);
        printf("%d\n",a+b);
    }
    return 0;    
}

hdu ACM Steps 1.2.3 A+B Coming

标签:scan   printf   com   模拟   name   div   str   string   logs   

原文地址:http://www.cnblogs.com/invoid/p/6985607.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!