1022. D进制的A+B

来源:互联网 发布:遮挡照片的软件 编辑:程序博客网 时间:2024/04/29 09:15

原题描述:

输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。

输入格式:

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

输出格式:

输出A+B的D进制数。

输入样例:
123 456 8
输出样例:
1103
按照进制转换过程,代码如下:

#include<stdio.h>int main ( ){    int A,B, D, sum, i, s [ 32 ] ,a = 0 ;    scanf("%d %d %d",&A, &B, &D );    sum = A + B ;    do    {        s[ a++ ] = sum % D ;        sum = sum / D ;    }while ( sum != 0 );    for ( i = a-1 ; i >= 0 ; i -- )        printf("%d",s [ i ] );    return 0;}

之前直接用while判断一直WA,而用do while 是因为要先除一次,判断的是最后一个非0商,而此时已经保存了这个商为0的余数。






原创粉丝点击