被题目某个测试点卡住了,大佬们看看!
题目:
代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, temp = 0, err = 0;
cin >> n;
vector<string> array;
for (int i = 0; i < n; i++)
{
string s;
cin >> s;
array.push_back(s);
}
for (int l = 0; l < n; l++)
{
for (int i = 0; i < 17; i++)
{
if (array[l][i] < 48 || array[l][i] > 57)
err++;
}
if (err != 0)
{
cout << array[l] << endl;
temp++;
continue;
}
int sum = 0;
for (int i = 0; i < 17; i++)
{
int a;
switch (i)
{
case 0:a = 7;
break;
case 1:a = 9;
break;
case 2:a = 10;
break;
case 3:a = 5;
break;
case 4:a = 8;
break;
case 5:a = 4;
break;
case 6:a = 2;
break;
case 7:a = 1;
break;
case 8:a = 6;
break;
case 9:a = 3;
break;
case 10:a = 7;
break;
case 11:a = 9;
break;
case 12:a = 10;
break;
case 13:a = 5;
break;
case 14:a = 8;
break;
case 15:a = 4;
break;
case 16:a = 2;
}
sum += (array[l][i] - 48) * a;
}
int z = sum % 11;
for (int j = 0, k = 1; j <= 10; k--, j++)
{
if (k < 0)
k = 10;
if (z == j)
{
if ((array[l][17] == 'X' && k != 10) || array[l][17] - 48 != k)
{
cout << array[l] << endl;
temp++;
break;
}
}
}
}
if (temp == 0)
cout << "All passed";
return 0;
}
非常感谢!!