台灣新型的車牌格式為 ABC-0123 或 0123-ABC (3 個英文字後跟 4 個數字)。
若兩部分的絕對差值小於等於 100 即是漂亮 (nice) 的車牌。
英文字部分用26進制來計算(即 A..Z 分別為 0..25),
例如,ABC 的值為 28 (0*262 + 1*261 + 2*260)。
所以 "ABC-0123" 是漂亮的車牌,因為 |28-123|<=100。
輸入規範
輸入的第一行有一個正整數 N (1<=N<=100) 
代表以下有多少組車牌測試資料。
後續有 N 行,每行一個車牌號碼
格式為 LLL-DDDD 或 DDDD-LLL。
輸出規範
對每一個車牌號碼輸出測試案例號碼及其計算過程輸出一行 "nice" 或 "not nice" (不含雙引號)。

 

輸入:

2
0123-ABC
AAA-9999

輸出:

Case 1: 0123-ABC=|123-28|=|95|=95 ==> nice
Case 2: AAA-9999=|0-9999|=|-9999|=9999 ==> not nice

程式碼:

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

int main()
{
    int n,loop,d,l,i,j,dsum,lsum,sum;
    char s[15];
    scanf("%d",&n);
    for(loop=1;loop<=n;loop++)
    {
        scanf("%s",&s);
        printf("Case %d: %s=",loop,s);
        if('0'<=s[0]&&s[0]<='9')
        {
            d=0;
            l=5;
        }
        else
        {
            d=4;
            l=0;
        }
        for(i=d,dsum=0;i<d+4;i++) dsum=dsum*10+s[i]-'0';
        for(j=l,lsum=0;j<l+3;j++) lsum=lsum*26+s[j]-'A';
        sum=dsum-lsum;
        if(sum<0) sum=-sum;
        if('0'<=s[0]&&s[0]<='9')
            printf("|%d-%d|=|%d|=%d ==> ",dsum,lsum,dsum-lsum,sum);
        else printf("|%d-%d|=|%d|=%d ==> ",lsum,dsum,lsum-dsum,sum);
        if(sum>100) printf("not ");
        printf("nice\n");
    }
}
 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 亞亞 的頭像
    亞亞

    亞亞的小窩

    亞亞 發表在 痞客邦 留言(0) 人氣()