10进制转k进制
#include <stdlib.h> #include <math.h> #include <iostream> using namespace std; void k_system(int n,int k){ //n:十进制数,k为进制 int t=n; int m=0; int a[10]; while(t>0){ //提取数的每一位保存到数组 a[m]=t%k; t=t/k; m++; } for(int i=m-1;i>=0;i--) cout<<a[i]; }
char a[1024];
void k_system(int n,int k){//可将十进制转16进制 int m=n; int i=0; if(k<=10) while(m){ a[i++]=m%k+'0'; m=m/k; } else while(m){ if(m%k>=10) a[i++]=m%k+'A'-10; else a[i++]=m%k+'0'; m=m/k; } for(int j=i-1;j>=0;j--){ printf("%c",a[j]); } }
int main(){ int n,k; cin>>n>>k; k_system(n,k); return 0; }