#11708: c語言的解法


oo12374 (小屋)

學校 : 國立彰化高級中學
編號 : 41314
來源 : [125.231.99.143]
最後登入時間 :
2019-12-27 12:53:00
a020. 身分證檢驗 | From: [111.246.15.220] | 發表日期 : 2017-02-05 13:19

#include<stdio.h>
int main(void) {
    int a,b,c,first;
    int n[26]={10,11,12,13,14,15,16,17,34,18,19,20,21,22,35,23,24,25,
    26,27,28,29,32,30,31,33};
    char id[10];
    while(scanf("%s",id)!=EOF) {
        a=b=c=0;
        first=n[id[0]-65];
        a=first/10+first%10*9;
        for(int i=1;i<=8;i++)
            b+=((int)id[i]-48)*(9-i);
        c=id[9]-48;
        if(!((a+b+c)%10)) printf("real\n");
        else printf("fake\n");
    }
}

433bytes

 
#12367: Re:c語言的解法


cjwujp456 (cjwujp456)

學校 : 不指定學校
編號 : 67399
來源 : [59.115.189.23]
最後登入時間 :
2017-09-22 21:53:46
a020. 身分證檢驗 | From: [118.167.172.151] | 發表日期 : 2017-07-12 21:01

#include
int main(void) {
    int a,b,c,first;
    int n[26]={10,11,12,13,14,15,16,17,34,18,19,20,21,22,35,23,24,25,
    26,27,28,29,32,30,31,33};
    char id[10];
    while(scanf("%s",id)!=EOF) {
        a=b=c=0;
        first=n[id[0]-65];
        a=first/10+first%10*9;
        for(int i=1;i<=8;i++)
            b+=((int)id[i]-48)*(9-i);
        c=id[9]-48;
        if(!((a+b+c)%10)) printf("real\n");
        else printf("fake\n");
    }
}

433bytesk

 

 

請問這有抓大小寫錯誤 或於數字間輸入英文之錯誤嗎??



 
#13596: Re:c語言的解法


snakeneedy (蛇~Snake)

學校 : 國立高雄師範大學附屬高級中學
編號 : 7661
來源 : [114.40.8.251]
最後登入時間 :
2023-01-25 19:16:06
a020. 身分證檢驗 | From: [1.173.96.138] | 發表日期 : 2018-03-25 21:39

 請問這有抓大小寫錯誤 或於數字間輸入英文之錯誤嗎??

以這題來說,測資都照格式 (先英文後 9 個數字) 輸入,且英文都大寫

 
ZeroJudge Forum