剛剛開始學習編程,常遇到進制轉換類的題目,在這裏做一下總結
直接貼代碼
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char valu[]="0123456789ABCDEFGHIJKLMN"; //要求小寫改爲小寫即可,最高轉換24進制,最低二進制
char ans[35]; //儲存答案的數組
int tentoany(int val,int n)
{
int i=1;
memset(ans,'0',sizeof(ans)); //初始化
if(val==0) //判斷0的情況
return 1;
while(val)
{
ans[i]=valu[val%n];
val/=n;
i++;
}
return i-1; //返回長度
}
int main()
{
int val,n;
while(cin>>val>>n) //輸入10進制數和要轉換的進制數
{
int len=tentoany(val,n);
for(int i=len;i>0;i--) //反向輸出
cout<<ans[i];
cout<<endl;
}
return 0;
}
下面附上其他鏈接