B1022 D进制的A+B (20分)

1022 D进制的A+B (20分)

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

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

输出格式:
输出 A+B 的 D 进制数。

输入样例:
123 456 8

输出样例:
1103

分析

  • a+b的和小于 231-1 用Int就足够了
  • 求C的D进制,只需要对C不断取余即可,直到C的模为0。
  • 使用do{} while结构可以让其先计算再判断。

代码

#include <stdio.h>
int sr[31]={0};
int main(){
	
	int a,b,c,num,count=0;
	scanf("%d%d%d",&a,&b,&num);
	c = a+b; 
	do{
	sr[count++]=c%num;
	c/=num;	
	}while(c!=0);
	for(int i=count-1;i>=0;i--){
		printf("%d",sr[i]);
	}
	
	return 0;
}
发布了91 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/WeDon_t/article/details/104092317