5 solutions

  • 4
    @ 2023-10-10 13:44:45

    只有我发题解?👀️ 😕

    #include <bits/stdc++.h>
    using namespace std;
    int sum,isbn[10];
    int main(int argc, char **argv){
    	char c;int idx = 1,n;
    	while (cin >> c){
            n = c - '0';
    		if (idx == 10){
    			break;
    		}
    		if (c == '-'){
    			continue;
    		}
    		isbn[idx] = n;
    		sum += idx * n;
    		idx++;
    	}
    	cin >> c;	// 可能输入 X, 所以用 c
    	n = c - '0';
    	if (c == 'X' && sum % 11 == 10){	// 特判正确
    		cout << "Right";
    	}else if (sum % 11 == n){	// 正常正确
    		cout << "Right";
    	}else{	// 错误
    		cout << isbn[1] << '-';
    		for (int i = 2;i <= 4;i++){
    			cout << isbn[i];
    		}
    		cout << '-';
    		for (int i = 5;i <= 9;i++){
    			cout << isbn[i];
    		}
    		cout << '-' << sum % 11;	// 别忘了输出的是新的识别码
    	}
    	return 0;
    }
    
    • 1
      @ 2024-12-9 13:57:51

      YI TUO SHI

      #include<bits/stdc++.h> 
      using namespace std;
      signed main(){
         char n;
         char gang[8],a[10];
         cin>>a[1];
         cin>>gang[1];
         cin>>a[2];
         cin>>a[3];
         cin>>a[4];
         cin>>gang[2];
         cin>>a[5];
         cin>>a[6];
         cin>>a[7];
         cin>>a[8];
         cin>>a[9];
         cin>>gang[4];
         cin>>n;//输入
         int s=0;
         for(int i=1;i<=9;i++){
            s+=(a[i]-48)*i;//求出识别码
         }
         if(s%11==n-48||s%11==10&&n=='X'/*特判X*/){
            cout<<"Right";
         }
         else{
            cout<<a[1]<<"-"<<a[2]<<a[3]<<a[4]<<"-"<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<"-"<<s%11;
         }
         
      
      • 1
        @ 2024-10-23 16:25:48
        #include<bits/stdc++.h>
        using namespace std;
        char a[20];
        int b[20];
        int main()
        {
        	int sum = 0;
        	char x;
        	cin >> a[1] >> x;
        	cin >> a[2] >> a[3] >> a[4] >> x;
        	cin >> a[5] >> a[6] >> a[7] >> a[8] >> a[9] >> x;
        	cin >> a[10]; 
        	for(int i = 1; i <= 9;i++)
        	{
        		b[i] = a[i] - '0';
        		sum += b[i]*i;
        	}
        	b[10] = a[10] - '0';
        	sum %= 11;
        	if(sum == 10)
        	{
        		if('X' == a[10])
        		{
        			cout << "Right";
        			return 0;
        		}
        		else
        		{
        			cout << a[1] << "-" << a[2] << a[3] << a[4] << "-" << a[5] << a[6] << a[7] << a[8] << a[9] << "-" << 'X';
        		}
        	}
        	if(sum == b[10])
        	{
        		cout << "Right";
        	}
        	else
        	{
        		cout << a[1] << "-" << a[2] << a[3] << a[4] << "-" << a[5] << a[6] << a[7] << a[8] << a[9] << "-" << sum;
        	}
        	return 0;
        }
        
        • 0
          @ 2024-1-19 14:21:12

          #include #include #include using namespace std; string a; int main(){ int k=1,s=0; cin>>a; for(int i=0;i<a.size()-1;i++){ if(a[i]!='-'){ s=s+(a[i]-'0')*k; k++; } } s=s%11; if(s10&&a[a.size()-1]'X'){ cout<<"Right"; return 0; } if(s10&&a[a.size()-1]!='X'){ for(int i=0;i<a.size()-1;i++){ cout<<a[i]; } cout<<"X"; return 0; } if(sa[a.size()-1]-'0'){ cout<<"Right"; } else{ for(int i=0;i<a.size()-1;i++){ cout<<a[i]; } cout<<s; } }

          • 0
            @ 2023-10-15 21:47:11

            #include<bits/stdc++.h> using namespace std; string s,s2=""; int sum=0; int main(){ getline(cin,s); for(int i=0;i<s.size();i++){ if(s[i]!='-'){ s2+=s[i]; } } for(int j=0;j+1<=9;j++){ sum+=((int(s2[j])-48)*(j+1)); } if(int(s2[s2.size()-1])-48sum%11||s2[9]'X'&&sum%11==10){ cout<<"Right"; } else{ cout<<s2[0]<<'-'<<s2[1]<<s2[2]<<s2[3]<<'-'<<s2[4]<<s2[5]<<s2[6]<<s2[7]<<s2[8]<<'-'<<sum%11; } return 0; }

            • 1

            Information

            ID
            160
            Time
            1000ms
            Memory
            16MiB
            Difficulty
            7
            Tags
            # Submissions
            139
            Accepted
            35
            Uploaded By