以下為CODE
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int m=0,k=0;
char a[11];
do
{
cin.get(a,11);
for (int i=0;i<=(strlen(a))-1;i++)
{
if (a[i]=='\0')
break;
if (a[0]== 'A')
k=1+0*9;
else if (a[0]== 'B')
k=1+1*9;
else if (a[0]== 'C')
k=1+2*9;
else if (a[0]== 'D')
k=1+3*9;
else if (a[0]== 'E')
k=1+4*9;
else if (a[0]== 'F')
k=1+5*9;
else if (a[0]== 'G')
k=1+6*9;
else if (a[0]== 'H')
k=1+7*9;
else if (a[0]== 'I')
k=3+4*9;
else if (a[0]== 'J')
k=1+8*9;
else if (a[0]== 'K')
k=1+9*9;
else if (a[0]== 'L')
k=2+0*9;
else if (a[0]== 'M')
k=2+1*9;
else if (a[0]== 'N')
k=2+2*9;
else if (a[0]== 'O')
k=3+5*9;
else if (a[0]== 'P')
k=2+3*9;
else if (a[0]== 'Q')
k=2+4*9;
else if (a[0]== 'R')
k=2+5*9;
else if (a[0]== 'S')
k=2+6*9;
else if (a[0]== 'T')
k=2+7*9;
else if (a[0]== 'U')
k=2+8*9;
else if (a[0]== 'V')
k=2+9*9;
else if (a[0]== 'W')
k=3+2*9;
else if (a[0]== 'X')
k=3+0*9;
else if (a[0]== 'Y')
k=3+1*9;
else if (a[0]== 'Z')
k=3+3*9;
if (i == 0)
m=k;
else if (i != 0 && i != 9)
m=(9-i)*(a[i]-48)+m;
else if (i == 9)
m=(a[9]-48)+m;
}
if (m%10 ==0)
cout << "real" << endl;
else
cout << "fake" << endl;
}while(cin.get()!= EOF);
return 0;
}
有大大可以幫我看一下
我的程式哪邊出了問題嗎
謝謝
以下為CODE
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int m=0,k=0;
char a[11];
do
{
cin.get(a,11);
for (int i=0;i<=(strlen(a))-1;i++)
{
if (a[i]=='\0')
break;
if (a[0]== 'A')
k=1+0*9;
else if (a[0]== 'B')
k=1+1*9;
else if (a[0]== 'C')
k=1+2*9;
else if (a[0]== 'D')
k=1+3*9;
else if (a[0]== 'E')
k=1+4*9;
else if (a[0]== 'F')
k=1+5*9;
else if (a[0]== 'G')
k=1+6*9;
else if (a[0]== 'H')
k=1+7*9;
else if (a[0]== 'I')
k=3+4*9;
else if (a[0]== 'J')
k=1+8*9;
else if (a[0]== 'K')
k=1+9*9;
else if (a[0]== 'L')
k=2+0*9;
else if (a[0]== 'M')
k=2+1*9;
else if (a[0]== 'N')
k=2+2*9;
else if (a[0]== 'O')
k=3+5*9;
else if (a[0]== 'P')
k=2+3*9;
else if (a[0]== 'Q')
k=2+4*9;
else if (a[0]== 'R')
k=2+5*9;
else if (a[0]== 'S')
k=2+6*9;
else if (a[0]== 'T')
k=2+7*9;
else if (a[0]== 'U')
k=2+8*9;
else if (a[0]== 'V')
k=2+9*9;
else if (a[0]== 'W')
k=3+2*9;
else if (a[0]== 'X')
k=3+0*9;
else if (a[0]== 'Y')
k=3+1*9;
else if (a[0]== 'Z')
k=3+3*9;
if (i == 0)
m=k;
else if (i != 0 && i != 9)
m=(9-i)*(a[i]-48)+m;
else if (i == 9)
m=(a[9]-48)+m;
}
if (m%10 ==0)
cout << "real" << endl;
else
cout << "fake" << endl;
}while(cin.get()!= EOF);
return 0;
}
有大大可以幫我看一下
我的程式哪邊出了問題嗎
謝謝
假設測資什麼都沒有
那你的程式會預先輸出一組答案,才判斷cin.get()是EOF唷!
以下為CODE
#include <iostream>#include <cstring>using namespace std;int main(){ int m=0,k=0; char a[11];do { cin.get(a,11); for (int i=0;i<=(strlen(a))-1;i++) { if (a[i]=='\0') break; if (a[0]== 'A') k=1+0*9; else if (a[0]== 'B') k=1+1*9; else if (a[0]== 'C') k=1+2*9; else if (a[0]== 'D') k=1+3*9; else if (a[0]== 'E') k=1+4*9; else if (a[0]== 'F') k=1+5*9; else if (a[0]== 'G') k=1+6*9; else if (a[0]== 'H') k=1+7*9; else if (a[0]== 'I') k=3+4*9; else if (a[0]== 'J') k=1+8*9; else if (a[0]== 'K') k=1+9*9; else if (a[0]== 'L') k=2+0*9; else if (a[0]== 'M') k=2+1*9; else if (a[0]== 'N') k=2+2*9; else if (a[0]== 'O') k=3+5*9; else if (a[0]== 'P') k=2+3*9; else if (a[0]== 'Q') k=2+4*9; else if (a[0]== 'R') k=2+5*9; else if (a[0]== 'S') k=2+6*9; else if (a[0]== 'T') k=2+7*9; else if (a[0]== 'U') k=2+8*9; else if (a[0]== 'V') k=2+9*9; else if (a[0]== 'W') k=3+2*9; else if (a[0]== 'X') k=3+0*9; else if (a[0]== 'Y') k=3+1*9; else if (a[0]== 'Z') k=3+3*9; if (i == 0) m=k; else if (i != 0 && i != 9) m=(9-i)*(a[i]-48)+m; else if (i == 9) m=(a[9]-48)+m; } if (m%10 ==0) cout << "real" << endl; else cout << "fake" << endl; }while(cin.get()!= EOF); return 0; }
有大大可以幫我看一下
我的程式哪邊出了問題嗎
謝謝
假設測資什麼都沒有
那你的程式會預先輸出一組答案,才判斷cin.get()是EOF唷!
===================================
謝謝大大的解答