#include <stdio.h>
#include <ctype.h>
long double pow (int a,int b);/*ָ指数函数*/
unsigned long first (int n,unsigned long i);/*整数部 分转为十进制*/
long double last (int n,long double i);/*小数部分转为十进制*/
void to_k (int k,unsigned long i);/*整数部分转为k进* /
void tok (int k,long double i);/*小数部分转为k进制*/
int main (void)
{
long double i;
int a,b;
unsigned long j;
printf ("请输入一个数字\n");
while (scanf ("%Lf",&i)==1)
{
printf ("请输入它的进制数\n");
scanf ("%d",&a);
printf ("您想把它转化为的进制数是:\n");
scanf ("%d",&b);
j=i;/*将数字拆分为整数和小数部分*/
i=i-j;
if (a!=10)/*将非十进制数转为十进制数*/
{
j=first(a,j);
i=last(a,i);
}
printf ("结果是:");
to_k (b,j);
if (j==0)
putchar('0');
putchar ('.');
tok(b,i);
putchar ('\n');
printf ("请输入一个数字继续或者输入q退出\n");
}
printf ("Bey.\n");
return 0;
}
#include <ctype.h>
long double pow (int a,int b);/*ָ指数函数*/
unsigned long first (int n,unsigned long i);/*整数部 分转为十进制*/
long double last (int n,long double i);/*小数部分转为十进制*/
void to_k (int k,unsigned long i);/*整数部分转为k进* /
void tok (int k,long double i);/*小数部分转为k进制*/
int main (void)
{
long double i;
int a,b;
unsigned long j;
printf ("请输入一个数字\n");
while (scanf ("%Lf",&i)==1)
{
printf ("请输入它的进制数\n");
scanf ("%d",&a);
printf ("您想把它转化为的进制数是:\n");
scanf ("%d",&b);
j=i;/*将数字拆分为整数和小数部分*/
i=i-j;
if (a!=10)/*将非十进制数转为十进制数*/
{
j=first(a,j);
i=last(a,i);
}
printf ("结果是:");
to_k (b,j);
if (j==0)
putchar('0');
putchar ('.');
tok(b,i);
putchar ('\n');
printf ("请输入一个数字继续或者输入q退出\n");
}
printf ("Bey.\n");
return 0;
}


