zoukankan      html  css  js  c++  java
  • 201312-2 ISBN号码

    水体,直接上代码

     1 #include<bits/stdc++.h>
     2 
     3 using namespace std;
     4 
     5 int main(){
     6     
     7     int a[11];
     8     char ch;
     9     
    10     a[1] = getchar() - '0';
    11     ch = getchar();
    12     a[2] = getchar() - '0';
    13     a[3] = getchar() - '0';
    14     a[4] = getchar() - '0';
    15     ch = getchar();
    16     a[5] = getchar() - '0';
    17     a[6] = getchar() - '0';
    18     a[7] = getchar() - '0';
    19     a[8] = getchar() - '0';
    20     a[9] = getchar() - '0';
    21     ch = getchar();
    22     ch = getchar();   //第10个数  可能是X  所以不能当数字输入 
    23     
    24     int sum = 0;
    25     for(int i=1;i<=9;i++) {
    26         sum+=a[i]*i;
    27     }
    28     
    29     if(sum%11==ch-'0'||(sum%11==10&&ch=='X')){
    30         cout<<"Right";
    31     }
    32     else{
    33         cout<<a[1]<<"-"<<a[2]<<a[3]<<a[4]<<"-"<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<"-"<<(sum%11);
    34     }
    35     
    36     return 0;
    37 }
    View Code

    然后尴尬了

    然后仔细看了一下代码  为了方便  未作详细的分类  导致不同类的不同结果未考虑仔细

    说人话就是   right的两个应该分开写   因为sum%11=10的情况  对应的输出应该是"X",而其余情况才是直接sum%11,  或者  输出结果之前应该判断  是否是10.

     1 #include<bits/stdc++.h>
     2 
     3 using namespace std;
     4 
     5 int main(){
     6     
     7     int a[11];
     8     char ch;
     9     
    10     a[1] = getchar() - '0';
    11     ch = getchar();
    12     a[2] = getchar() - '0';
    13     a[3] = getchar() - '0';
    14     a[4] = getchar() - '0';
    15     ch = getchar();
    16     a[5] = getchar() - '0';
    17     a[6] = getchar() - '0';
    18     a[7] = getchar() - '0';
    19     a[8] = getchar() - '0';
    20     a[9] = getchar() - '0';
    21     ch = getchar();
    22     ch = getchar();   //第10个数  可能是X  所以不能当数字输入 
    23     
    24     int sum = 0;
    25     for(int i=1;i<=9;i++) {
    26         sum+=a[i]*i;
    27     }
    28     if(sum%11==10){
    29         if(ch=='X'){
    30             cout<<"Right";
    31         }
    32         else cout<<a[1]<<"-"<<a[2]<<a[3]<<a[4]<<"-"<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<"-"<<"X";
    33     } 
    34     else if(sum%11==ch-'0'){
    35         cout<<"Right";
    36     }
    37     else{
    38         cout<<a[1]<<"-"<<a[2]<<a[3]<<a[4]<<"-"<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<"-"<<(sum%11);
    39     }
    40     
    41     return 0;
    42 }
    View Code

  • 相关阅读:
    已知: 每个飞机只有一个油箱, 飞机之间可以相互加油(注意是相互,没有加油机) 一箱油可供一架飞机绕地球飞半圈,问题:为使至少一架飞机绕地球一圈回到起飞时的飞机
    简易vector的实现
    简单的内存池实现
    归并排序,递归与非递归
    堆排序
    位运算
    二叉树的建立,以及非递归遍历
    “云端融合”思想的自我摸索(很不靠谱)
    linux android开发环境搭建
    Android系统架构及内核简介
  • 原文地址:https://www.cnblogs.com/HnuLyx/p/12190017.html
Copyright © 2011-2022 走看看