样例输入

0-670-82162-4

样例输出

Right

样例输入

0-670-82162-0

样例输出

0-670-82162-4

notice:总结一下出现50分80分的原因:

1.忽略题目要求:如果取余==10 则输出最后一个应为X

2.忘记了输入是时候 如果最后是X并且取余==10 那么输出应为True

以下是两个主要方法

方法一:笨办法

思路:根据条件输入,字符'-'直接丢掉,剩下的所有数字放进数组a 然后遍历计算ans,最后条件判断

code:

#include <bits/stdc++.h>
using namespace std;int a[13];int main()
{int ans = 0, factor = 1;char c;for (int i = 0; i < 13; i++) //数据输入{if (i != 1 && i != 5 && i != 11){if (i == 12){cin>>c;a[12]=c-'0';continue;}cin >> c;a[i]=c-'0';ans += (a[i] * factor);factor++;}elsecin>>c;}ans %= 11;if (ans == a[12]||(ans==10 && c=='X'))cout << "Right";else{a[12]=ans;for (int i = 0; i < 13; i++) //数据输出{if(i==12 && ans==10){cout<<"X";break;}if (i != 1 && i != 5 && i != 11){cout << a[i];}elsecout << "-";}}return 0;
}

方法二:利用string(较方便)进行处理

思路:先整体输入此string 然后通过isdigit()处理数字 最后条件判断输出;

code:

#include<bits/stdc++.h>
using namespace std;string s1;
int A[10],sum = 0,factor = 1;
int main()
{cin>>s1;int p;for(int i = 0;i < 11;i++){if(isdigit(s1[i]) != 0){sum += (s1[i] - '0')*factor;factor++;}}sum %= 11;if((s1[12] - '0') == sum||(sum == 10 && s1[12] == 'X'))cout<<"Right"<<endl;else{for(int i = 0; i < s1.size() - 1;i++){cout<<s1[i];}if(sum == 10)cout<<"X"<<endl;else      cout<<sum<<endl;}return 0;
}

CCF 2013-12-2 ISBN号码相关推荐

  1. CCF真题 201312-2 ISBN号码

    目录 1 题目 1.1 问题描述 1.2 输出格式 1.3 样例输入 1.4 样例输出 1.5 样例输入 1.6 样例输出 2 代码 1 题目 1.1 问题描述 每一本正式出版的图书都有一个ISBN号 ...

  2. CCF真题之ISBN号码

    201312-2 问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号& ...

  3. csp试题2:ISBN号码

    csp试题2:ISBN号码 题目 分析 代码 总结 题目 问题描述       每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如" ...

  4. 【CCF】ISBN号码

    问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&qu ...

  5. CCF真题 ISBN号码 题解

    问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&qu ...

  6. C语言新手记:ISBN号码

    题自CCF 201312-2<ISBN号码> 接上一篇使用ASCII码处理数字字符转数值方法,想起了之前遇到的遗留问题(即本题) 问题描述 每一本正式出版的图书都有一个ISBN号码与之对应 ...

  7. 洛谷 P1055 ISBN号码【字符串+模拟】

    P1055 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其 ...

  8. NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.

    题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&qu ...

  9. Vijos p1484 ISBN号码

    描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-" ...

  10. ISBN号码【模拟】

    ISBN号码ISBN号码ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x&q ...

最新文章

  1. 只用一张训练图像进行图像的恢复
  2. 数学史上的哲学绝唱——无穷观与数学基础的争论
  3. python copy函数用法_Python深浅拷贝
  4. 第一百三十二期:MySQL系列:一句SQL,MySQL是怎么工作的?
  5. Matlab添加BNT工具箱
  6. SpringBoot指南(一)——SpringBoot入门
  7. React Echarts 点击事件
  8. stringify中文乱码?
  9. MMCODE 1003: 小谭变美日记(c++)
  10. Python文件操作-shutil 模块(参考)
  11. C51单片机实现串口通信
  12. 数据库与MPP数仓(二十三):postgreSQL集群与高级特性
  13. Formatter格式化
  14. (转)flex布局换行后间隙问题
  15. 推荐一个如何成为PPT高手的博客
  16. RISC-V学习基础(三)
  17. 数据分析技能点-数据数据分析是什么?
  18. 网络安全学习-DOS命令
  19. 如何维持手机电池寿命_手机电池不耐用怎么办小窍门(怎么恢复手机电池寿命)...
  20. Activiti工作流视频教程-基于Activiti5工作流实战企业协同OA办公系统

热门文章

  1. 转: oracle中schema指的是什么?
  2. 记一次css载入指定url失败
  3. UIPickView 和 UIDatePicker
  4. 2014.8.25二分法,二维数组
  5. [Buzz.Today]2012.04.29
  6. nowcoder80D applese的生日
  7. 本地项目添加到远程仓库
  8. vs Obsolete标识符
  9. codevs 1415 比那名居天子
  10. ZBrush常用快捷键