news 2026/6/10 16:35:03

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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. }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:52:34

企业级集团门户网站管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

摘要 随着数字化转型的加速推进&#xff0c;企业级集团门户网站成为信息共享、业务协同和品牌展示的重要平台。传统门户网站存在开发效率低、维护成本高、扩展性差等问题&#xff0c;难以满足现代企业快速发展的需求。基于此&#xff0c;设计并实现一套高效、稳定、可扩展的企业…

作者头像 李华
网站建设 2026/6/10 13:35:18

Jetson Xavier NX中断系统配置:图解说明与实例

Jetson Xavier NX 中断系统实战指南&#xff1a;从原理到代码的全链路解析你有没有遇到过这样的场景&#xff1f;你的 Jetson Xavier NX 正在跑着目标检测&#xff0c;突然一个安全开关被触发&#xff0c;但程序却迟迟没有响应——不是算法太慢&#xff0c;而是事件捕获机制出了…

作者头像 李华
网站建设 2026/6/10 13:33:18

Python 写入临时文件

import tempfile import subprocess import oscustom_tmp_dir r"E:\js_tmp" # 你想放临时 js 的目录 os.makedirs(custom_tmp_dir, exist_okTrue)js_code "console.log(123);"with tempfile.NamedTemporaryFile(modew,suffix.js,dircustom_tmp_dir, …

作者头像 李华
网站建设 2026/6/9 23:30:35

Dify插件扩展机制探索:自定义组件增强平台能力

Dify插件扩展机制探索&#xff1a;自定义组件增强平台能力 在企业智能化转型的浪潮中&#xff0c;越来越多的团队开始尝试构建基于大语言模型&#xff08;LLM&#xff09;的AI应用。然而现实往往比预期复杂得多——LLM擅长理解和生成语言&#xff0c;却无法直接访问企业的订单系…

作者头像 李华