1022 D进制的A+B

一.问题:

输入两个非负 10 进制整数 A 和 B (≤230−1),输出 A+B 的 D (1

输入格式:

输入在一行中依次给出 3 个整数 A、B 和 D。

输出格式:

输出 A+B 的 D 进制数。

输入样例:

123 456 8

输出样例:

1103

二.思路:

        自己写个进制转换函数就可以了

三.代码实现:

#include
#include
void func(int sum,int D)
{
    int*str = (int*)malloc(sizeof(char)*1000);
    int shang = sum;
    int yu;
    int i;
    for(i =0;shang != 0;i++)
    {
        yu = shang % D;
        shang /= D;
        str[i] = yu;
    }
    //输出
    i--;
    while(i>=0)
    {
        printf("%d",str[i]);
        i--;
    }
    free(str);
}
int main()
{
    int A,B,D;
    scanf("%d %d %d",&A,&B,&D);
    if(A+B == 0)
    {
        printf("0");
    }
    else
    {
        func(A+B,D);
    }
    putchar('\n');
    return 0;
}

你可能感兴趣的:(PTA,(Basic,level)部分题目解析,算法)