自由學習的風

幽夢影 張潮 少年讀書,如隙中窺月;中年讀書,如庭中望月;老年讀書,如臺上玩月。皆以閱歷之淺深,為所得之淺深耳。

test upload

2010年8月21日 星期六

test upload image

[資料結構] 十進位轉換成八進位 part2 (非遞迴)

2010年8月7日 星期六


利用非遞迴的方式將十進位轉換成八進位,方向正確!
/* octnonrecu2.c */
main(){
    void    oct(int);
    int        i, n, arr[50];

    printf("Enter an integer: ");
    scanf("%d", &n);
    i = 0;
    while( n >= 8 ){
        /* printf("%d", n % 8); */
        arr[i]    = n % 8;
        n = n / 8;
        i++;
    }
    /* printf("%d\n", n); */
    arr[i]    = n;

    while( i >= 0){
        printf("%d", arr[i]);
        i--;
    }
}


[資料結構] 十進位轉換成八進位 part 1 (非遞迴)


利用非遞迴的方式將十進位轉換成八進位,不過,方向有顛倒~~~
/* octnonrecu.c */
main(){
    void    oct(int);
    int        n;
    printf("Enter an integer: ");
    scanf("%d", &n);
    while( n >= 8 ){
        printf("%d", n % 8);
        n = n / 8;
    }
    printf("%d\n", n);

    /* 較高位會先列印出來,所以會顛倒 */
    getch();
}


[資料結構] - 十進位轉換成八進位(遞迴)

/* octrecu.c */
main(){
    void    oct(int);
    int        n;
    printf("Enter an integer: ");
    scanf("%d", &n);
    oct(n);                /* 呼叫遞迴函數 */
}


void oct(i){
    if( i < 8 ){
        printf("%d", i);
        getch();
    }else{
        oct(i/8);
        printf("%d", i%8);
        getch();
    }
}


FreeBSD線上學習資源

儘管目前使用 Ubuntu 做為我的桌面系統環境,網管的作業系統中,FreeBSD 還是我的最愛!!也推薦大家試試這個超棒的系統。