#12493: C語言 不知為何會fake


james0452000 (Falcon)

學校 : 國立陽明大學
編號 : 67452
來源 : [120.126.109.217]
最後登入時間 :
2017-09-04 20:30:39
a020. 身分證檢驗 | From: [120.126.109.217] | 發表日期 : 2017-07-31 18:53

程式碼連結: http://ideone.com/pxSeu6

有將其他人給的測資丟進去測試 但抓不出為何會fake

 

#include <stdio.h>

char c[20];
int num[15];
int j,k;
int numindex;
int sum;

int main(void) {
while(gets(c)!=NULL){
numindex = 1;
sum = 0;

for(j=0;c[j]!='\0';j++){
if(c[j]>=65){
switch(c[j]){
case 'A':
num[0]=10;
break;
case 'B':
num[0]=11;
break;
case 'C':
num[0]=12;
break;
case 'D':
num[0]=13;
break;
case 'E':
num[0]=14;
break;
case 'F':
num[0]=15;
break;
case 'G':
num[0]=16;
break;
case 'H':
num[0]=17;
break;
case 'I':
num[0]=34;
break;
case 'j':
num[0]=18;
break;
case 'K':
num[0]=19;
break;
case 'L':
num[0]=20;
break;
case 'M':
num[0]=21;
break;
case 'N':
num[0]=22;
break;
case 'O':
num[0]=35;
break;
case 'p':
num[0]=23;
break;
case 'Q':
num[0]=24;
break;
case 'R':
num[0]=25;
break;
case 'S':
num[0]=26;
break;
case 'T':
num[0]=27;
break;
case 'U':
num[0]=28;
break;
case 'V':
num[0]=29;
break;
case 'W':
num[0]=32;
break;
case 'X':
num[0]=30;
break;
case 'Y':
num[0]=31;
break;
case 'Z':
num[0]=33;
break;
}
}
else{
num[j]=c[j]-48;
}
}
for(k=8;k>0 ;k--){
sum= sum + num[numindex]*k;
numindex ++;
}
sum = num[9]+sum;
sum = sum + (num[0]/10) + (num[0]%10)*9 ;
if(sum%10==0){
printf("real\n");
}
else{
printf("fake\n");
}
}
return 0;
}

 
#12495: Re:C語言 不知為何會fake


james0452000 (Falcon)

學校 : 國立陽明大學
編號 : 67452
來源 : [120.126.109.217]
最後登入時間 :
2017-09-04 20:30:39
a020. 身分證檢驗 | From: [120.126.109.217] | 發表日期 : 2017-07-31 22:19

抓到錯了  謝謝大家

 
 
#19623: Re:C語言 不知為何會fake


alexlisan23xx@gmail.com (晨恩王)

學校 : 不指定學校
編號 : 107607
來源 : [140.119.121.6]
最後登入時間 :
2019-10-15 14:00:47
a020. 身分證檢驗 | From: [140.119.121.6] | 發表日期 : 2019-10-15 14:11

抓到錯了  謝謝大家

 



請問是哪裡錯

 

 
ZeroJudge Forum