程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-C語言求教,進制轉換代碼

c語言-C語言求教,進制轉換代碼

編輯:編程綜合問答
C語言求教,進制轉換代碼

請大家幫我看看我的程序有什麼錯誤,感激不盡!

/*
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);
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved