样例正确,但是运行错误?为什么啊啊啊
查看原帖
样例正确,但是运行错误?为什么啊啊啊
1163793
spindrift楼主2023/11/9 19:37
#include<stdio.h>

int main() {
	char a[14];
	char ch;
	int i = 0;
	int sum = 0;
	int mod;
	char b;
	while (ch = getchar(), ch != '\n') {
		if (ch != '-') {	//读入所有的数字
			a[i] = ch;
			i++;
		}
	}
	a[i] = '\0';			
	for (i = 1; i <= 9; i++) {      //将所有数字依次乘1-9,和为sum
		sum += (a[i - 1] - '0') * i;
	}						
	mod = sum % 11;         //mod为余数
	if (mod == 10) {		//将正确的识别码储存在b中
		b = 'X';
	}
	else b = mod + '0';     
	if (b == a[9]) {
		printf("Right");
	} 

	else {
		a[9] = b;           //用正确的识别码代替a[9],a[9]为识别码应在的位置
		printf("%c-%c%c%c-%c%c%c%c%c-%c", a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]);
	}
	return 0;
}
2023/11/9 19:37
加载中...