#17050: 求大師解哪裡錯 C++


071009@hchs.kh.edu.tw (張簡雲翔)

學校 : 高雄市立新莊高級中學
編號 : 86190
來源 : [61.227.60.162]
最後登入時間 :
2021-10-09 12:22:18
a020. 身分證檢驗 | From: [163.32.64.156] | 發表日期 : 2019-03-04 13:55

#include<iostream>
using namespace std;
int main()
{
char a[11],b[26]={'A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','X','Y','W','Z','I','O'};
while(cin>>a)
{
for(int i=0;i<=26;i++)
{
if(a[0]==b[i]&&i<10)
{
a[0]=1;
a[11]=i;
}
else if(a[0]==b[i]&&10<=i<20)
{
a[0]=2;
a[11]=i-10;
}
else if(a[0]==b[i]&&i<=30)
{
a[0]=3;
a[11]=i-20;
}
}
b[1]=a[0]+a[10]*9+a[1]*8+a[2]*7+a[3]*6+a[4]*5+a[5]*4+a[6]*3+a[7]*2+a[8]*1+a[9];
if(b[1]%10==0)
cout<<"real"<<endl;
else if(b[1]%10!=0)
cout<<"fake"<<endl;
}
return 0;
}

 
#17060: Re:求大師解哪裡錯 C++


asdfg3215740@gmail.com (蒲公英 ISU10703100A)

學校 : 義守大學
編號 : 88704
來源 : [60.249.245.163]
最後登入時間 :
2022-03-09 14:50:24
a020. 身分證檢驗 | From: [125.227.112.129] | 發表日期 : 2019-03-06 14:47

1.宣告A[11]不能用到A[11]   ------ 13,18,23 改成A[10]ㄅ~

2.測資不只一筆吧~你在第 26 行改掉 b[1] 會影響後面ㄅ  ----- 26    可多加一個變數 int sum;,記得後面也都要改(26  ,  27  ,  29)

3.INT 的 1 是在 CHAR 的 49 (ASCII碼)   ------- 26 改成sum = a[0]+a[10]*9+(a[1]-48)*8+(a[2]-48)*7+(a[3]-48)*6+(a[4]-48)*5+(a[5]-48)*4+(a[6]-48)*3+(a[7]-48)*2+(a[8]-48)*1+(a[9]-48);

4.a<=x<=b  在C++是錯誤的  必須改成 a<=x && x<=b 才能正確   ------   15,20




 
ZeroJudge Forum