题目:
https://pintia.cn/problem-sets/994805260223102976/exam/problems/994805290334011392
以下是我所写的代码:
#include <stdio.h>
int main()
{
int N, i, j = 0, sum;
char id[101][19];
int w[] = { 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 };
char M[] = { '1','0','X','9','8','7','6','5','4','3','2' };
scanf("%d", &N);
for (i = 0; i < N; i++)
{
scanf("%s", id[i]);
}
for (i = 0; i < 17; i++)
{
int k = 0;
for (k = 0, sum = 0; k < 17 && id[i][k] >= '0' && id[i][k] <= '9'; k++)
{
sum += (id[i][k] - '0') * w[k];
}
if (k == 17 && M[sum % 11] == id[i][17])
j = 1;
else
{
printf("%s\n", id[i]);
j = 0;
}
}
if (j == 1)
{
printf("All passed");
}
return 0;
}
经过编译器测试后: