請大家幫我看看我的程序有什麼錯誤,感激不盡!
/*
num:數字 i:進制數 k:總位數
*/
#include"stdio.h"
#include"math.h"
int firsttext(int num,int i){
int k;
for(k=1;;k++){
if(num<((int)pow((float)i,(float)k)))
break;
}
--k;
return k;
}
int printoutevery(int num,int i,int k){
int a;
if(k=0)
{return 0;}
for(a=1;;a++){
if(num<((int)pow((float)i,(float)k)))
break;
}
a--;k--;
num-=(int)pow((float)i,(float)a);
if(a<10)
printf("%d",a);
else printf("%c",a+55);
printoutevery(num,i,k);
}
int main(){
int num,i,k;
printf("請輸入待處理數(十進制):");
scanf("%d",&num);
printf("請輸入您要轉換的進制:");
scanf("%d",&i);
k=firsttext(num,i);
printoutevery(num,i,k);
getchar();
return 0;
}
int printoutevery(int num,int i,int k){
int a;
if(k<0)
{return 0;}
//for(a=1;;a++){
// if(num<((int)pow((float)i,(float)a)))
// break;
//}
a = num / (int)pow((float)i,(float)k);
num -= a * (int)pow((float)i,(float)k);
k--;
if(a<10)
printf("%d",a);
else printf("%c",a+55);
printoutevery(num,i,k);
}