SOGO論壇
  登入   註冊   找回密碼
查看: 1299|回覆: 1
列印 上一主題 下一主題

[程式設計] 使用16進位副程式改寫switch [複製連結]

Rank: 3Rank: 3

狀態︰ 離線
跳轉到指定樓層
1
發表於 2010-12-31 12:42:40 |只看該作者 |倒序瀏覽
請參考以下程式,請用function及迴圈改寫此程式,
令此程式能輸入0~65535並將之轉成十六進制,
並執行以下輸入和輸出。

Ex1:input:0
       Output:0000
Ex2:input:65535
       Output:FFFF

Ps.不必做輸入錯誤判斷、使用純C


#include<stdio.h>
#include<stdlib.h>

int main(void)
{
    int a, b;
    printf("請輸入一筆十進制之正整數(0~255之間):");
    scanf("%d", &a);
    if( a > 255 || a < 0)
    {
        printf("輸入範圍錯誤!!\n");
    }
    else
    {
        printf("十進制值%d轉成十六進制值為:", a);
        b = a / 16;
        switch(b)
        {
            case 10:
                 printf("A");
                 break;
            case 11:
                 printf("B");
                 break;
            case 12:
                 printf("C");
                 break;
            case 13:
                 printf("D");
                 break;
            case 14:
                 printf("E");
                 break;
            case 15:
                 printf("F");
                 break;
            default:
                 printf("%d", b);
        }
        b = a % 16;
        switch(b)
        {
            case 10:
                 printf("A");
                 break;
            case 11:
                 printf("B");
                 break;
            case 12:
                 printf("C");
                 break;
            case 13:
                 printf("D");
                 break;
            case 14:
                 printf("E");
                 break;
            case 15:
                 printf("F");
                 break;
            default:
                 printf("%d", b);
        }
        printf("\n");
    }
   
    system("pause");
    return 0;
}


<----我現在的狀態
請能手能多多幫忙
喜歡嗎?分享這篇文章給親朋好友︰
               感謝作者     

Rank: 2

狀態︰ 離線
2
發表於 2011-9-4 15:14:33 |只看該作者
16進位的符號可以直接用陣列做就好
ex:
char hex[16]="0123456789ABCDEF";
請注意︰利用多帳號發表自問自答的業配文置入性行銷廣告者,將直接禁訪或刪除帳號及全部文章!
您需要登錄後才可以回覆 登入 | 註冊


本論壇為非營利自由討論平台,所有個人言論不代表本站立場。文章內容如有涉及侵權,請通知管理人員,將立即刪除相關文章資料。侵權申訴或移除要求:abuse@oursogo.com

GMT+8, 2024-5-22 01:56

© 2004-2024 SOGO論壇 OURSOGO.COM
回頂部