7 223 12-4 3Sample Output1111B-11#include <iostream>using namespace std;int main(){ int n,r,i; int flag; char num[1000]; int arr[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; //字符数组存储用到的16进制数 while(cin>>n>>r) { if(n<0) { n*=(-1); //负数华为正数统一处理 flag=-1; } else flag=1; for(i=0; ;i++) { num[i]=arr[n%r]; //n/r取余即n进制下当前未处理数据中最低位值 if(n/r==0) break; n/=r; } if(flag==-1) { num[++i]='-'; //将负数‘-’补上,注意此处i为全局变量,因而能够承接上面循环后i的值 } for(;i>=0;i--) { cout<<num[i]; } cout<<endl; } return 0;}
新闻热点
疑难解答