| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 409 人关注过本帖
标题:求教这条编程该如何写,菜鸟一个
只看楼主 加入收藏
来自狗星的我
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-3-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
求教这条编程该如何写,菜鸟一个
生活在潘多拉星球的Na‘vi组人使用的是二十六进制的数字,大写字母’A‘-’Z‘依次表示十进制数字0-25.Na’vi族人使用宇宙通用的加减乘除运算法则,如B+B=C,Z+B=BA(这表示10进制的1+1=2,25+1=16,其中后一个加法发生了进位,BA是Na'vi族人数字的最小的二位数,)。2014年4月,Na'vi族使团即将访问地球,很多地球居民都想参加欢迎Na'vi族使团的仪式,近距离观察屏幕中的“阿凡达”。可是报名的人太多了,仪式的场地无法容纳。为了从报名的人群中选拔出能代表地球人智慧的代表,地球联邦政府举行了一次笔试。笔试内容是Na'vi族人加法运算。作为阿凡达狂热fans的你,可以通过这个笔试吗?要求你编写的程序的输入描述是:题目有多组输入。每组输入为两个Na'vi族的正整数A和B(A和B的长度小于225),用空格分隔,独占一行。输入数据处理到文件末尾。输出描述:对每一组A和B,输出他们的和,每组的输入的结果独占一行。
输入例样:
B B
BA DC
输出例样:
C
EC

求大神指导,谢谢。
搜索更多相关主题的帖子: 潘多拉星球 十进制 通用 如何 报名 
2014-03-20 12:59
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:14 
瞎写的,你参考一下
程序代码:
#include <stdio.h>
#include <string.h>

int main()
{
    char buf1[1000], buf2[1000], buf3[500];
    memset( buf1, 'A', 500 );
    memset( buf2, 'A', 500 );
    buf3[499] = '\0';

    while( scanf("%s%s",buf1+500,buf2+500) == 2 )
    {
        size_t len1 = strlen(buf1+500);
        size_t len2 = strlen(buf2+500);
        size_t len = len1>len2 ? len1 : len2;

        const char* pa = buf1+500-1+len1;
        const char* pb = buf2+500-1+len2;
        char* pc = buf3+499;
        char c = 0; // 进位
        for( ; pc!=buf3+499-len-1; --pa,--pb )
        {
            int tmp = c + (*pa-'A') + (*pb-'A');
            c = tmp/26;
            *--pc = tmp%26 + 'A';
        }
        if( pc!=buf3+498 && *pc=='A' )
            ++pc;

        printf( "%s\n", pc );
    }

    return 0;
}

2014-03-20 16:07
快速回复:求教这条编程该如何写,菜鸟一个
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016231 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved