又一版 A+B

输入两个不超过整型定义的非负10进制整数A和B(<=2  31-1),输出A+B的m (1 < m <10)进制数。



Input输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。 

当m为0时输入结束。

Output输出格式:每个测试用例的输出占一行,输出A+B的m进制数。

Sample Input

8 1300 48
2 1 7
0
Sample Output
2504
1000

1,要注意sum=0的情况,因为当sum=0时,否则在convert函数中while(sum)会出现问题导致没有输出

2.输出格式要注意

#include <stdio.h>
int val,s[32],i;
void convert(long long sum,int m){
    i=0;
    while(sum){
        s[i++]=sum%m;
        sum/=m;
    }
}

int main(void)
{
    int m,j;
    long long a,b,sum ;
    while(scanf("%d%lld%lld",&m,&a,&b)!=EOF){
        if(m==0)
            break;
        sum=a+b;
        if(sum==0){                     //sum=0!
            printf("0");
            putchar('\n');
}
        else{
            convert(sum,m);
            for(j=i-1;j>=0;j--)
                printf("%d",s[j]);
            printf("\n");
        }

    }

    return 0;
}



猜你喜欢

转载自blog.csdn.net/han_hhh/article/details/79956742