1006

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:56   2538   0
#include <iostream>
#include <string>
#include <stack>
#include <vector>
using std::cout;
using std::endl;
using std::cin;
using std::string;
using std::stack;
using std::vector;

string change(int num,int m){
 int n=0,e;
 stack<int> s;
 while(num){ 
  n=num%m;
  if(n>9)
   e=n-10+'A';
  else
   e=n+'0';
  s.push(e);
  num/=m;
 }
 string result="";
 while(!s.empty()){
  result+=s.top();
  s.pop();
 }
 return result;
}

int main()
{
 int base;
 int a,b,c;
 vector<string> vect;
 while(cin>>a>>b>>c&&!(a==0&&b==0&&c==0))
 {
  base = a;
  vect.push_back(change(b,base));
  vect.push_back(change(c,base));
  vect.push_back(change(b+c,base));
 }
 for(vector<string>::size_type ix =0; ix <vect.size()-2; ix+=3)
 {
  cout<<vect[ix]<<" + "<<vect[ix+1]<<" = "<<vect[ix+2]<<endl;
 }
 return 0;
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP