a020.
身分證檢驗
| From: [101.11.105.34] |
發表日期
:
2015-07-08 15:50
小弟剛學程式語言,上傳測試結果顯示,你的答案為fake,正確答案為real
但我自己跑程式測試都對,請高手看一下錯誤在哪??
謝謝
程式碼如下:
#include<iostream>
using namespace std;
main(){
char ID[11];
while(cin.getline(ID,11)){
int i,F=0,sum=0,num[11],j;
if( ID[0] <= 'z' && ID[0] >= 'a'){
ID[0]-=32;
}
if (ID[0]>='A' && ID[0] <='H'||ID[0] =='W'){
ID[0]-=55;
F = ID[0];
}
if (ID[0]>='J' && ID[0] <='N'){
ID[0]-=56;
F = ID[0];
}
if (ID[0]>='P' && ID[0] <='V'){
ID[0]-=57;
F = ID[0];
}
if (ID[0]>='X' && ID[0] <='Z'){
ID[0]-=58;
F = ID[0];
}
if (ID[0]=='O'){
ID[0]-=44;
F = ID[0];
}
if (ID[0]=='I'){
ID[0]-=39;
F = ID[0];
}
for(i=1;i<10;i++){
ID[i]-=48;
num[i]=ID[i];
}
for (i=1,j=8;i<=9,j>=1;i++,j--){
sum += num[i]*j;
}
sum += F%100/10+(F%10/1 *9)+ID[9];
if (sum %10 == 0){
cout<<"real"<<endl;
}
else{
cout<<"fake"<<endl;
}
}
return 0;
}