社区讨论

80分求调

P1055[NOIP 2008 普及组] ISBN 号码参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mhj303zw
此快照首次捕获于
2025/11/03 19:53
4 个月前
此快照最后确认于
2025/11/03 19:53
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
char c;
string d;
int a[35];
int main(){
	int n=1,z=0,l=1,o=0;
    while(cin>>c){
		if(c!='-') a[n++]=c-'0';
		else if(c=='X') a[n++]=10; 
		if(n==11) break;
	}
	for(int i=1;i<n-1;i++){
		z+=a[i]*i;
	}	
	o=z%11;
	if(z%11==a[n-1]){
		cout<<"Right";
	}
	else{
		for(int i=1;i<n-1;i++){
			if(i==1||i==4||i==9){
				cout<<a[i];
				cout<<"-";
			}
			else{
				cout<<a[i];
			}
		}
 		if(o==10){
 		    cout<<"X";
		}
		else{
			cout<<o;
		}
	}
}

回复

0 条回复,欢迎继续交流。

正在加载回复...