#9987: c語言答案


jimmyy512 (Majitoo)

學校 : 新北市立淡水高級商工職業學校
編號 : 46229
來源 : [114.36.98.109]
最後登入時間 :
2017-07-07 13:10:37
a020. 身分證檢驗 | From: [114.42.213.72] | 發表日期 : 2015-07-05 06:50

#include <stdio.h>
#include <stdlib.h>
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,resault,d=0;
char Num[10];
while(scanf("%s",&Num)!=EOF)
{
tmp=list(Num[0]);
tens=tmp/10; //十位數 
ones=tmp%10; //個位數 
for(i=1,d=8;i<10;i++,d--)
{
Num[i]=Num[i]-'0';  //字符轉成整數 
resault=resault+Num[i]*d;
}
resault=resault+tens+ones+Num[9];
if(resault%10==0)
printf("real\n");
else
printf("fake\n");
}
}
僅供參考 
 
#9988: Re:c語言答案


jimmyy512 (Majitoo)

學校 : 新北市立淡水高級商工職業學校
編號 : 46229
來源 : [114.36.98.109]
最後登入時間 :
2017-07-07 13:10:37
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");
}
}
 
 
ZeroJudge Forum