a020.
身分證檢驗
| From: [114.42.213.72] |
發表日期
:
2015-07-05 07:11
不好意思 上面有點錯誤 公式那邊ones少*9 迴圈忘記初始化resault以下為正確答案
#include <stdio.h>
#include <stdlib.h>
/*
T112663836
S154287863
範例輸出 :
real
fake
*/
int list(first)
{
first-=65;
int i,city[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};
for(i=0;i<26;i++)
{
if(city[first]==city[i])
{
return city[i];
}
}
}
int main()
{
int i=0,j,k,tmp,tens,ones;
char Num[10];
while(scanf("%s",&Num)!=EOF)
{
int resault=0,d;
tmp=list(Num[0]);
tens=tmp/10; //十位數
ones=tmp%10; //個位數
for(i=1,d=8;i<10;i++,d--)
{
Num[i]=Num[i]-'0'; //字符轉成整數
if(i<9)
resault=resault+Num[i]*d;
}
resault=resault+tens+ones*9+Num[9];
if(resault%10==0)
printf("real\n");
else
printf("fake\n");
}
}