法国上班时间:问大家一个问题,怎么把一个十进制转13进

来源:百度文库 编辑:神马品牌网 时间:2024/05/03 05:05:08
我一个朋友让我做的!!

是 C 语言程序

输入一个数 输出他的13进制

大家会的帮我想想

我怕我写的错了 因为我不知道13进的是个什么东西

大概 10用A表示 11用B表示 12用C表示 13用D表示

说明:13进制中是没有13这个数字的!只有0到12.
#include<stdio.h>
main()
{
void Change1();
void Change2();
float n;
printf("Enter a number:");
while(scanf("%f",&n)==EOF);
Change1((int)n);
printf(".");
Change2(n-(int)n);
getch();
}
void Change1(int n)
{
if(n<13)
{
if(n<10) printf("%d",n%13);
else if(n==10) printf("A");
else if(n==11) printf("B");
else if(n==12) printf("C");
}
else
{
Change1(n/13);
if((n%=13)<10) printf("%d",n);
else if(n==10) printf("A");
else if(n==11) printf("B");
else if(n==12) printf("C");
}
}
void Change2(float n)
{
int i=0;
do
{
i++;
n=n*13;
if(n>1)printf("%d",(int)n);
}while(n!=0&&i!=10);
printf("\n");
}

说明:13进制中是没有13这个数字的!只有0到12.
#include<stdio.h>
main()
{
void Change1();
void Change2();
float n;
printf("Enter a number:");
while(scanf("%f",&n)==EOF);
Change1((int)n);
printf(".");
Change2(n-(int)n);
getch();
}
void Change1(int n)
{
if(n<13)
{
if(n<10) printf("%d",n%13);
else if(n==10) printf("A");
else if(n==11) printf("B");
else if(n==12) printf("C");
}
else
{
Change1(n/13);
if((n%=13)<10) printf("%d",n);
else if(n==10) printf("A");
else if(n==11) printf("B");
else if(n==12) printf("C");
}
}
void Change2(float n)
{
int i=0;
do
{
i++;
n=n*13;
if(n>1)printf("%d",(int)n);
}while(n!=0&&i!=10);
printf("\n");
}

你只要看懂16精制的方法就知道了,不然你13精制也是不理解的