【2021暑期训练-1】7-6 校验ISBN-10编码
图书使用国际标准书号(International Standard Book Number (ISBN-10))来编码,是一个 10 位码。前 9 位(0−9之间的数字)分别用于表示语言、出版商和 图书信息。第 10 位是校验位,可以是0−9之间的数字或者是字母 X (用于表示数字10);
ISBN-10码可以通过下面方法进行验证:
首先,对ISBN-10码的各个位按下面的计算式求和: 1×x1+2×x2+3×x3+4×x4⋯+9×x9+10×x10
将求和的结果对11取余数,如果余为0,则说明该ISBN-10码是一个有效码,否则,就不是一个有效的ISBN-10码。
现输入一批ISBN-10图书编码,请你验证该编码是否是有效的国际标准书号。
输入格式:输入第一行给出正整数N(≤10)是输入的ISBN-10图书编号的个数。随后N行,每行给出1个10位的ISBN-10图书编号。
输出格式:按照输入的顺序每行输出1个有问题的ISBN-10编码。这里并不检验前9位是否合理,只检查前9位是否全为数字且最后1位校验码计算准确。如果所有号码都正常,则输出 All passed。
输入样例01:1 ...
【2021暑期训练-1】7-4 A-B
输入一个字符串(包括大小写字母和空格),除去空格输出在字符串中出现过的字符。
输入格式:输入一个字符串
输出格式:输出在字符串中出现过的字符,每个字符打印一次,按字母顺序打印(注意:空格不算,大小写字符算不同字符)。打印时按字母的顺序,大写在前,小写在后。
输入样例:在这里给出一组输入。例如:
1This is a good hat
输出样例:在这里给出相应的输出。例如:
1Tadghiost
思路遍历字符串A,针对A中的每个字符用string的find函数判断B中知否存在该字符,若不存在输出该字符。
代码12345678910111213#include<iostream>#include<cstring>#include<algorithm>using namespace std;int main(){ string A,B; getline(cin,A); getline(cin,B); for(int i=0;i<A.size();i++){ if(B.find(A[i])==B.npos) cout<& ...
【2021暑期训练-1】7-3 输出字符串中出现的字符
输入一个字符串(包括大小写字母和空格),除去空格输出在字符串中出现过的字符。
输入格式:输入一个字符串
输出格式:输出在字符串中出现过的字符,每个字符打印一次,按字母顺序打印(注意:空格不算,大小写字符算不同字符)。打印时按字母的顺序,大写在前,小写在后。
输入样例:在这里给出一组输入。例如:
1This is a good hat
输出样例:在这里给出相应的输出。例如:
1Tadghiost
思路getline(cin,s)接收一行字符串,可以接收空格并输出
遍历一遍erase函数删除空格
大小写字母ASCII码范围:a-z:97-122 A-Z:65-90
因题目要求打印时按字母的顺序,大写在前,小写在后,
所以用sort函数根据字母ASCII码值排序,可得:Taadghhiioosst
因每个字符打印一次,所以删除排序后相邻的重复字符即可
代码123456789101112131415161718#include<iostream>#include<cstring>#include<algorithm>using namespace ...
【2021暑期训练-1】7-2 学号解析
川师的学号的某些位有特殊的含义,如从2016110101中可以看出该学生为2016级,就读于11系,班级为1班。根据输入的学号,利用程序进行解析,输出对应的信息。
输入格式:一个学号
输出格式:相关信息
输入样例:在这里给出一组输入。例如:
12016110101
输出样例:在这里给出相应的输出。例如:
123year:2016department:11class:01
思路同样很简单,也可巧妙输入
代码1234567891011121314151617181920#include<iostream>#include<cstring>using namespace std;int main(){ string s; cin>>s; cout<<"year:"; for(int i=0;i<4;i++){ cout<<s[i]; } cout<<endl<<"department:"; for(int i= ...
【2021暑期训练-1】7-1 拆数
从键盘输入一个三位的正整数,输出它的各位之和与积。
输入样例:例如:
1358
输出样例:例如:
116 120
思路很简单,不过可以巧妙的输入
代码1234567891011#include<iostream>using namespace std;int main(){ int n; cin>>n; int a=n/100; int b=n%100/10; int c=n%10; cout<<a+b+c<<" "<<a*b*c; return 0; }
巧妙的输入如下:
12345678910#include <iostream>using namespace std;int main() { int a,b,c; scanf("%1d%1d%1d",&a,&b,&c); cout << a+b+c << " " << a*b*c << endl; return 0;}
...
每日分享day05-Markdown与Typora
河北大学暑期程序设计训练每日知识分享-day05
每日分享——Markdown与TyporaTypora文件可在群文件进行下载~~程序员专用笔记神器:markdown以及Typora
markdown语法简易,用于编辑文本文档,可快速的定义目录、写入数学公式、表格、代码块等,语法非常简单。文件后缀为.md目前许多网站使用markdown来撰写帮助文档或是用于论坛发表文章(csdn、博客园、github等)程序员必定接触github,接触github就必定要使用markdown
Typora是一款非常nice的markdown编辑器,像使用word一样编辑markdown代码(其实不用写代码),而且软件是完全免费的这里是用Typora写的笔记:
每日分享day04-真正的服务器主机和虚拟主机
河北大学暑期程序设计训练每日知识分享-day04
每日分享—— 真正的服务器主机和虚拟主机
独立服务器:独立服务器,顾名思义,就是一个躺在机房的实实在在的物理服务器。
虚拟主机:计导实验第一个虚拟主机(Virtual Host Virtual Server)是使用特殊的软硬件技术,把一台计算机主机分成一台台‘虚拟’的主机,每一台虚拟主机都具有独立的域名和IP地址(或共享的IP地址),具有完整的Internet服务器功能。在同一台硬件、同一个操作系统上,运行着为多个用户打开的不同的服务器程序,互不干扰;而各个用户拥有自己的一部分系统资源(IP地址、文件存储空间、内存、CPU时间等)。但虚机主机没有独立的操作系统,只能通过提供的控制面板操作,而且是共享服务器资源,在稳定性和访问速度方面是受限的。
每日分享day03-C++常用位运算知识
河北大学暑期程序设计训练每日知识分享-day03
每日分享——C++常用位运算知识任何信息在计算机中都是采用二进制表示的,数据在计算机中是以补码形式存储的,位运算就是直接对整数在内存中的二进制位进行运算。由于位运算直接对内存数据进行操作,不需要转换成十进制,因此处理速度非常快,在信息学竞赛中往往可以优化理论时间复杂度的系数。同时,一个整数的各个二进制位互不影响,利用位运算的一些技巧可以帮助我们简化程序代码。
每日分享day02-疯狂的程序员
河北大学暑期程序设计训练每日知识分享-day02
每日分享——《疯狂的程序员》本书PDF版可在群文件进行下载这是一本关于程序员成长历程的小说,小说针对的最主要的群体是刚学习写程序或者刚加入程序员不久的年轻人。该书以作者的学习、工作、生活为原型,讲述了主角绝影大学、工作、创业三部分的经历,其中作为主线的实际项目案例都基于作者深厚的技术沉淀。小说描述了一名普通程序员的生活经历,我们从中可以感受到每个程序员都有自己的理想追求,但程序员和普通人一样,也会遇到生活中的各种琐事,也会为了职场上复杂的人际关系而苦恼。
【2021暑期训练开营测试】8-4 统计一行文本的单词个数
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:输入给出一行字符。
输出格式:在一行中输出单词个数。
输入样例:1Let's go to room 209.
输出样例:15
鸣谢用户 张麦麦 补充数据!
思路getline输入字符串,扫描字符串
遇到字母时,若这个字母的前一个字符不是空格,则是一个新单词
代码123456789101112131415161718192021#include <iostream>#include <algorithm>#include <vector>using namespace std;int main() { string str; getline(cin, str); char ch = ' '; //当前位置的前一个字符 int ret = 0; for(int i=0;i<(int)str.size();i++) { char it=st ...







