3 条题解

  • 2
    @ 2024-8-15 11:40:50
    #include<bits/stdc++.h>
    using namespace std;
    string s;
    int main(){
    	int n=0,a=1;
    	cin>>s;
    	for(int i=0;i<11;i++){
    		if(s[i]=='-') continue;
    		n+=(s[i]-'0')*a;
    		a++;
    	}
    	n%=11;
    	if(s[12]==n+'0' or s[12]=='X' and n==10) cout<<"Right";
    	else{
    		for(int i=0;i<12;i++) cout<<s[i];
    		if(n==10) cout<<'X';
    		else cout<<n;
    	}
    }
    
    • 2
      @ 2024-7-20 12:05:23
      #include<iostream>
      using namespace std;
      int main(void){
          char a,b,c,d,e,f,g,h,i,j;
          int check;
          scanf("%c-%c%c%c-%c%c%c%c%c-%c",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);//使用scanf读入和字符处理   char类型的数字  不是Int类型  '0'代表整数48  所以不可以直接对这个整数进行计算
          check = (a - '0')*1 + (b - '0') * 2 + (c - '0') * 3 + (d - '0') * 4 + (e - '0') * 5 //而是要减去 '0' 变成数字类型才可以进行计算     输出的时候也要注意识别码是int类型  需要转换成char类型  主要针对最后一个字符
          + (f - '0') * 6 +(g - '0') * 7 + (h - '0') * 8 + (i - '0') * 9;//最后一个字符 如果check是10  下输出x    如果不是    那么转换成int类型即可输出
          check = check % 11;//将j转换成数字类型进行比较  - '0' 
          if(j == 'X' && check == 10 || check == j - '0'){
              printf("Right\n");
          }
          else{
              //j不正确    如果check = 10 更改为x   如果 checK不为10  + 0 转换成字符形式
              printf("%c-%c%c%c-%c%c%c%c%c-%c",a,b,c,d,e,f,g,h,i,check == 10 ? 'X' : check +'0');
          }
          return 0;
      }
      
      • 1
        @ 2024-10-19 10:50:55
        #include<bits/stdc++.h>
        using namespace std;
        int main()
        {
        	int sum=0;
        	vector<char>xx;
        	int ass=1;
        	for(int i = 1;i <= 12;i++)
        	{
        		char a;
        		cin >> a;
        		if(a!='-')
        		{
        			if(a=='X')
        			{
        				sum+=10*ass;
        			}
        			else
        			{
        				sum+=(a-48)*ass;
        				ass++;
        			}
        		}
        		xx.push_back(a);
        	}
        
        	sum=sum%11;
        	int c;
        	cin >> c;
        	if(c==0)
        	{
        		if(sum==10)
        		{
        			cout << "Right";
        			return 0;
        		}
        	}
        	if(sum==c)
        	{
        		cout << "Right";
        	}
        	else
        	{
        		
        		for(char w : xx)
        		{
        			cout << w;
        		}
        		if(sum==10)
        		{
        			cout << "X";
        			return 0;
        		}
        		cout << sum;
        	}
        	return 0;
        }
        
        • 1

        信息

        ID
        408
        时间
        1000ms
        内存
        128MiB
        难度
        5
        标签
        递交数
        120
        已通过
        50
        上传者