NeuroNO1 @ 2024-12-23 21:36:13
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str[13];
char x;
int sum=0,cnt=1;
fgets(str, 13, stdin);
scanf("%c",&x);
char *p=str;
int len=strlen(str);
while (*p) {
if (*p=='-') {
p++;
}
if (*p>='0' && *p<='9') {
sum+=(*p-'0')*cnt;
cnt++;
}
p++;
}
int k;
k=sum%11;
if (k==10&&x=='X') {
printf("Right");
}
else if (k!=10&&(x-'0')==k) {
printf("Right");
}
else if (k!=10&&(x-'0')!=k) {
printf("%s%d",str,k);
}else if (k==10&&x!='X') {
printf("%sX",str);
}
return 0;
by NeuroNO1 @ 2024-12-23 21:36:50
我第一次测试70分,第二次80分,第三次90分,.....最后一次通过了。。什么灵异现象
by Grammar__hbw @ 2024-12-23 21:39:29
@NeuroNO1 UB了,读入13个字符需要开14个char的数组
by NeuroNO1 @ 2024-12-23 21:57:14
@Grammar__hbw 蟹蟹佬(好快的回复速度)www
by NeuroNO1 @ 2024-12-23 22:00:28
@Grammar__hbw bu dui阿,为啥我改成14个还是会出现同样的现象
by Grammar__hbw @ 2024-12-23 22:03:19
@NeuroNO1 我不知道fgets的空字符算不算