c程序語言設計 2-3

第四彈?

寫了一個htoi(),以及專用的atoi()。應爲是複習所以那些麻煩的戳錯處理還是懶得寫。

正文開始→

#include <stdio.h>

int htoi(char bit16[]);
int ctoi(char ch);

void main(){
    char h[6];
    int c;
    int i = 0;

    while((c = getchar())!= EOF && c != '\n'){
        if(i > 6 ){
            printf("輸入格式不正確");
            return ;
        }
        h[i] = c;

        i++;  
    }
    c = htoi(h);
    printf("%d \n",c);

}

int htoi(char bit16[])
{
    int valu;

    valu = ctoi(bit16[2])*16*16*16+ 
        ctoi(bit16[3])*16*16+ 
        ctoi(bit16[4])*16+ 
        ctoi(bit16[5]);

    return valu;
}

int ctoi(char ch)
{
    int valu;
    if(ch >= '0'&& ch <= '9')
    {
        valu = ch - ('0' - 0); 
        return valu;
    }
    if(ch >='a' && ch <= 'f')
    {
        valu = ch - ('a' - 10);
        return valu;
    }
    if(ch >='A' && ch <= 'F')
    {
        valu = ch - ('A' - 10);
         return valu;
    }
    else{
        printf("存在非法值");
        return -1;
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章