求助...#8#9#10过不了
查看原帖
求助...#8#9#10过不了
803972
BillGatseBillGatse楼主2023/1/11 11:20
#include<stdio.h>
#include<string.h>
int main(void)
{
    char str[2][205],t[410];//输入字符串和输出字符串
    int num[2][205],result[410],rad,i,j,len[2];
    
    for(j=0;j<205;j++)//初始化
    {
        num[0][j]=0;
        num[1][j]=0;
    }
    for(j=0;j<410;j++)
    {
        result[j]=0;
        t[j]='\0';
    }
    
    scanf("%d",&rad);
    scanf("%s",str[0]);
    scanf("%s",str[1]);
    len[0]=strlen(str[0]);
    len[1]=strlen(str[1]);

    for(i=0;i<2;i++)//转为整数计算
    {
        for(j=0;j<len[i];j++)
        {
            if(str[i][len[i]-j-1]>='0'&&str[i][len[i]-j-1]<='9')
            num[i][j]=str[i][len[i]-j-1]-'0';
            else num[i][j]=str[i][len[i]-j-1]-'a'+10;
        }
    }


    for(j=0;j<=len[0]+len[1];j++)//计算和
    {
        result[j]+=num[0][j]+num[1][j];
        if(result[j]>=rad)
        {
            result[j+1] += (result[j]/rad);
            result[j]=result[j]%rad;
        }
    }

    for(j=0;j<len[1]+len[0];j++)//计算进制表示
    {
        if(result[j]<10) t[j]=result[j]+'0';
        else t[j]=result[j]-10+'a';
    }

    j=len[0]+len[1];//输出结果
    while(t[j]=='\0' || t[j]=='0') j--;
    while(j>=0)
    {
        printf("%c",t[j]);
        j--;
    }

}
2023/1/11 11:20
加载中...