将十进制整数数转换为K进制数整数#include"stdio.h"#in

将十进制整数数转换为K进制数整数#include"stdio.h"#in
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
int DtoN(char dother[],int d,int n)
{
int i=0;
while(d>=n)
{
dother[i]=d % n;
if(dother[i]>10)
dother[i]=dother[i]-10+'A';
else
dother[i]='0'+d % n;
d/=n;
i++;
}
if(d>0)
{
dother[i]=d % n;
if(dother[i]>10)
dother[i]=dother[i]-10+'A';
else
dother[i]='0'+d % n;
}
else
i--;
return i;

}
int main()
{
int dDegit,N,num;
char dOther[64],fh;
int i;
printf("输入一个十进制数:");
scanf("%d",&dDegit);
if(dDegit<0)
fh='-';
else
fh=' ';
dDegit=abs(dDegit);
printf("输入你想转换为的进制基数:");
scanf("%d",&N);
num=DtoN(dOther,dDegit,N);
printf(" 将十进制数%d转换为%d进制值为:%c",dDegit,N,fh);
for(i=num;i>=0;i--)
{
printf("%c",dOther[i]);
}
printf(" ");
}

首先要懂转换机制,就是不断的取余,取整,最终为0时循环结束。
#include
using namespace std;
int main()
{
int k,number;int kn[100];int i;
cout<<"请输入要转换的进制 :"< cin>>k;
cout<<"请输入要转换的数 :"< cin>>number;i=0;
while(number!=0)
{
kn[i]=number%k;
number=number/k;
i++;
}
cout<<"转换为"< for(int j=i-1;j>=0;j--)
cout< cout< //system("pause");
return 0;
}

← 上一篇: 下一篇: →