救命啊,几个测试点不过WA
查看原帖
救命啊,几个测试点不过WA
560818
DoubleCats楼主2023/11/10 22:24
#include<bits/stdc++.h>
using namespace std;
int tt[114514],lst,sum;
char s1[114154];
int main(){
	for(int i=1;i<=13;i++){
		char a;
		cin>>a;
		s1[i]=a;
		if(a=='-') tt[i]=0;
		else if(a=='X') tt[i]=11;
		else tt[i]=a-'0'+1;
	}
	//求和
	{
		int ttt=0;
		for(int i=1;i<=9;i++){
			//首位数字乘以 1加上次位数字乘以 2 ……
			
			if(tt[i]==0){//当tt[i]是0("-")时 ttt++;
				ttt++;
			} 
			
			sum=sum+(tt[i+ttt])*i;
		}
	}
	
	//计算识别码
	lst=sum%11;
	if(lst==tt[13]-1) cout<<"Right";
	
	else{
		for(int i=1;i<=12;i++){
			if(tt[i]==0) cout<<"-";
			else if(tt[i]==10) ;
			else cout<<tt[i]-1;
		}
		if(lst==10) cout<<"X";
		else cout<<lst;
	} 
//	if(sum==10) cout<<"X";
//	else cout<<sum;
	
	return 0;
}

代码如上 输入:7-115-13880-4 输出:7-115-13880-1 应输出:7-115-13880-X 一晚上了啊啊,帮帮孩子吧 QWQ

2023/11/10 22:24
加载中...