ISBN号码(p1055)

解法一:

#include
using namespace std;                             思路:把最后一个字符单独摘出来研究
int main()
{
    char st[15];int s=0,t=0, g,m;
    for(int i=1;i<=12;i++)
    {   cin>>st[i];                               //也可以 scanf("%c",&a[i]);
        if(st[i]!='-')
        { t++;
        s+=(st[i]-'0')*t;}                       //把字符数字转换为数字;
    }
    cin>>st[13];
    if(st[13]=='X')
    g=10;
    else
    g=st[13]-'0';                       //也可以g=st[13]-48; 因为'0'的ASCII码值为48;
    m=s%11;
    if(g==m)                                  //比较两个数字是否相等;
    cout<<"Right";
    else
  { for(int i=1;i<=12;i++)
    cout<     if(m==10)
    cout<<'X';
    else
    cout<     return 0;
}

解法二:

#include
using namespace std;
int main()                                                        思路:整体研究
{
  char st[15];int s=0,t=0,m;
  for(int i=1;i<=13;i++)
     {  st[i]=getchar();
       if(st[i]!='-'&&i!=13)
      {   t++;
       s+=(st[i]-'0')*t;}
     }
       m=s%11;
       char h=st[13];
       st[13]=m==10? 'X': m+'0' ;               //三目运算符;把数字转换为数字字符
       if(h==st[13])                                     //比较两个字符是否相等
       cout<<"Right";
       else
       for(int i=1;i<=13;i++)
       cout<        return 0;
}

你可能感兴趣的:(#,洛谷c++)