问题标题: 酷町堂:1458

0
0
已解决
陈喆鹏
陈喆鹏
资深光能
资深光能

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string a,a1;
    cin>>a;
    a1=a;
    a.erase(1,1);
    a.erase(4,1);
    a.erase(9,1);
    int l=a.length();
    int i,s=0,c,x;
    for(i=0;i<l-1;i++)
    {
        c=a[i]-'0';
        s+=c*(i+1);
    }
    x=s%11;
    if(x==a1[12]-'0')
        cout<<"Right";
    else
    {
        a1.erase(12,1);
        cout<<a1;
        if(x==10)
            cout<<'X';
        else
            cout<<x;
    }
    return 0;
}


0
已采纳
夏子健
夏子健
初级光能
初级光能

for(i=0;i<12;i++)
    {
        if(a[i]!='-')
        {
            num1=num1*10+a[i]-'0';
            s=s+num1*k;
            k++;
            num1=0;
        }
    }
    num2=num2*10+a[12]-'0';
    if(s%11==num2)
    cout<<"Right";
    else if(s%11==10&&a[12]=='X')
        cout<<"Right";
    else if(s%11==10&&a[12]!='X')
        {
            a.erase(12,1);
            cout<<a<<'X';
        }
    else
         {
            a.erase(12,1);
            cout<<a<<s%11;
         }//你考虑简单了@陈喆鹏
 

0
张睿杰
张睿杰
初级天翼
初级天翼
定义整形a[10];
定义字符b[10];
定义整形sr();
定义整形print();
int main()
{
    int sum=0,ys;
    char sbm;
    sr();
    for(int i=0;i<=8;i++)
    {
        a[i]=b[i]-48;
        sum=sum+a[i]*(i+1);
    }
    ys=sum%11;
    if(ys==10) sbm='X';
    else sbm=ys+48;
    if(sbm==b[9]) cout<<"Right";
    else printf("%d-%d%d%d-%d%d%d%d%d-%c",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],sbm);
    return 0;
}
int sr()
{
    scanf("%c-%c%c%c-%c%c%c%c%c-%c",&b[0],&b[1],&b[2],&b[3],&b[4],&b[5],&b[6],&b[7],&b[8],&b[9]);
//  print();
}
int print()
{
    printf("%c-%c%c%c-%c%c%c%c%c-%c",b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9]);
}

 

0
0
王梓澳
王梓澳
中级光能
中级光能

主函数里的:

    int sum=0,ys;
    char sbm;
    sr();
    for(int i=0;i<=8;i++)
    {
        a[i]=b[i]-48;
        sum=sum+a[i]*(i+1);
    }
    ys=sum%11;
    if(ys==10) sbm='X';
    else sbm=ys+48;
    if(sbm==b[9]) cout<<"Right";
    else printf("%d-%d%d%d-%d%d%d%d%d-%c",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],sbm);
    return 0;

sr函数里的:

    scanf("%c-%c%c%c-%c%c%c%c%c-%c",&b[0],&b[1],&b[2],&b[3],&b[4],&b[5],&b[6],&b[7],&b[8],&b[9]);
print函数里的:
printf("%c-%c%c%c-%c%c%c%c%c-%c",b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9]);

 

我要回答