输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:
123 456 8
输出样例:
1103 注意:D进制,使用栈时应注意命名空间。
1 #include<stdio.h> 2 #include<stack> 3 using namespace std; 4 /* 5 char str1[35]; 6 char str2[35]; 7 void Reverse(char str1 []) 8 { 9 char str[35]; 10 for(int i=0;i<strlen(str1);i++) 11 { 12 str[i] =str1[i]; 13 } 14 for(int i=0;i<strlen(str1);i++) 15 { 16 str1[strlen(str1)-1-i]=str[i]; 17 } 18 }*/ 19 int main(int argc, char** argv) 20 { 21 int A,B,D; 22 stack<int> S; 23 //将两个数逆序 24 scanf("%d%d%d",&A,&B,&D); 25 int sum=A+B; 26 while(sum>=D) 27 { 28 int reminder=sum%D; 29 sum=sum/D; 30 S.push(reminder); 31 } 32 S.push(sum); 33 while(!S.empty()) 34 { 35 printf("%d",S.top()); 36 S.pop(); 37 } 38 39 return 0; 40 }
时间: 2024-08-14 20:23:25