当前位置: 首页 > news >正文

2025年云南大学计算机考研复试机试真题(附 AC 代码 + 解题思路)

2025年云南大学计算机考研复试机试真题

2025年云南大学计算机考研复试上机真题

历年云南大学计算机考研复试上机真题

历年云南大学计算机考研复试机试真题

更多学校题目开源地址:https://gitcode.com/verticallimit1/noobdream

N 诺 DreamJudge 题库:输入 “学校名称” 即可筛选该校历年机试真题,题目均在考纲范围内,按难度自动排序。还可搭配《计算机考研机试攻略》刷题,书中题目可通过题号直接在题库中查找。

ISBN号码识别

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符-之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。

识别码的计算方法如下:

首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果与 11求余,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,...,9再求和,即0×1+6×2+……+2×9=158,然后取158 mod 11的结果4作为识别码。

你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出Right;如果错误,则输出你认为是正确的ISBN号码。

输入输出格式
输入描述:

一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。

输出描述:

一行,假如输入的ISBN号码的识别码正确,那么输出Right,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符-)。

输入输出样例
输入样例#:
0-670-82162-4
输出样例#:
Right

代码一

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int getCode(string s) {
  4. int ans = 0, k = 1;
  5. for (int i = 0; i < s.size()-2; i++)
  6. if (s[i] >= '0' && s[i] <= '9')
  7. ans += (int)(s[i] - 48) * (k++);
  8. return ans % 11;
  9. }
  10. int main() {
  11. string s;
  12. while (cin >> s) {
  13. int code = getCode(s);
  14. if (code == s[s.size() - 1] - 48 || code == 10 && s[s.size() - 1] == 'X')
  15. cout << "Right" << endl;
  16. else {
  17. s[s.size() - 1] = code == 10 ? 'X' : code + 48;
  18. cout << s << endl;
  19. }
  20. }
  21. return 0;
  22. }

代码二

  1. #include <stdio.h>
  2. #include <string.h>
  3. int main(){
  4. char str[13];
  5. int i,n=13,sum=0,cnt=1;
  6. scanf("%s",str);
  7. for(i = 0;i<12;i++){
  8. if(str[i]=='-')
  9. continue;
  10. else{
  11. sum+=(str[i]-'0')*cnt;
  12. cnt++;
  13. }
  14. // printf("%d\n",sum);
  15. }
  16. sum = sum % 11;
  17. if(str[12]=='X'){
  18. if(sum==10)
  19. printf("Right\n");
  20. else{
  21. str[12]=(char)(sum+'0');////
  22. printf("%s\n",str);
  23. }
  24. return 0;
  25. }
  26. else{
  27. if(sum==10){
  28. str[12] = 'X';
  29. printf("%s\n",str);
  30. }
  31. else if(sum==str[12]-'0')
  32. printf("Right");
  33. else{
  34. str[12]=(char)(sum+'0');
  35. printf("%s\n",str);
  36. }
  37. return 0;
  38. }
  39. }

代码三

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. string s;
  5. cin>>s;
  6. int sum=0;
  7. int count=1;
  8. for(int i=0;i<s.size()-1;i++){
  9. if(s[i]!='-'){
  10. sum+=(s[i]-'0')*count;
  11. count++;
  12. }
  13. }
  14. sum%=11;
  15. if(sum==s[s.size()-1]-'0') cout<<"Right"<<endl;
  16. else if(sum==10&&s[s.size()-1]=='X')cout<<"Right"<<endl;
  17. else{
  18. cout<<s.substr(0,12);
  19. if(sum==10) cout<<'X';
  20. else cout<<sum;
  21. }
  22. }
http://www.jsqmd.com/news/140593/

相关文章:

  • 基于SpringBoot+Vue的金帝豪斯健身房管理系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】
  • 零基础学习如何在Multisim14中绘制原理图
  • 教学资源共享平台信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
  • Dify数据集管理功能深度评测:为RAG提供坚实支撑
  • Dify如何实现跨平台部署?容器化支持情况全面测评
  • Dify企业定制版功能前瞻:专为大型组织打造的高级特性
  • Blender3mfFormat插件终极指南:掌握3MF格式的完整工作流
  • Dify Agent开发入门:教你创建第一个可交互智能体
  • Dify与Notion数据库联动:构建动态更新的知识库系统
  • 数字电路实验项目应用:四人抢答器设计入门教程
  • Dify如何实现模型A/B测试?多版本对比功能实测
  • 快速理解UART接收中断回调核心要点
  • Dify平台计费系统设计思路:精准统计Token消耗的秘诀
  • Dify应用编排引擎揭秘:拖拽式开发如何改变AI开发范式
  • elasticsearch客户端工具配置REST API安全认证方法
  • jscope使用教程:工业自动化中数据可视化的全面讲解
  • Dify平台资源占用测试:在有限GPU上运行多个AI应用
  • android创建虚拟网卡和vlan
  • AUTOSAR软件开发初学者指南:从ECU到软件组件
  • CH340驱动安装后无COM口?解决方案全面讲解
  • USB Serial驱动下载全流程图解说明
  • 企业级集团门户网站管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】
  • SSD1306数据与命令区分:I2C协议中的关键要点
  • Python:方法本质上就是属性
  • 我发现多尺度因果图漏动态评估,后来补实时反馈才稳住血糖控制
  • Java Web 家教管理系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
  • Dify可视化界面实测:非程序员也能玩转Agent开发
  • 企业级驾校预约学习系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】
  • SpringBoot+Vue 健康医院门诊在线挂号系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】
  • 克拉泼振荡电路Multisim仿真波形观察与优化策略