【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;}
...
【2021暑期训练-1】7-8 PAT排名汇总
计算机程序设计能力考试(Programming Ability Test,简称PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计实现能力,科学的评价计算机程序设计人才,为企业选拔人才提供参考标准(网址http://www.patest.cn)。
每次考试会在若干个不同的考点同时举行,每个考点用局域网,产生本考点的成绩。考试结束后,各个考点的成绩将即刻汇总成一张总的排名表。
现在就请你写一个程序自动归并各个考点的成绩并生成总排名表。
输入格式:输入的第一行给出一个正整数N(≤100),代表考点总数。随后给出N个考点的成绩,格式为:首先一行给出正整数K(≤300),代表该考点的考生总数;随后K行,每行给出1个考生的信息,包括考号(由13位整数字组成)和得分(为[0,100]区间内的整数),中间用空格分隔。
输出格式:首先在第一行里输出考生总数。随后输出汇总的排名表,每个考生的信息占一行,顺序为:考号、最终排名、考点编号、在该考点的排名。其中考点按输入给出的顺序从1到N编号。考生的输出须按最终排名的非递减顺序输出,获得相同分数的考生应有相同名次,并按考号的递增 ...
【2021暑期训练-1】7-7 模拟EXCEL排序
Excel可以对一组纪录按任意指定列排序。现请编写程序实现类似功能。
输入格式:输入的第一行包含两个正整数N(≤105) 和C,其中N是纪录的条数,C是指定排序的列号。之后有 N行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,保证没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩([0, 100]内的整数)组成,相邻属性用1个空格隔开。
输出格式:在N行中输出按要求排序后的结果,即:当C=1时,按学号递增排序;当C=2时,按姓名的非递减字典序排序;当C=3时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。
输入样例:12343 1000007 James 85000010 Amy 90000001 Zoe 60
输出样例:123000001 Zoe 60000007 James 85000010 Amy 90
思路定义sort的排序函数,对结构体排序
代码1234567891011121314151617181920212223242526272829303132333435363738394041#include<io ...
每日分享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-2 化合物
小A想要合成一个化合物。初始时,容器里有 a 克的物质A。小A每次操作都会向容器中加入 b 克物质A与 c 克物质B,当容器中物质A与物质B的比值不大于 d 时,说明小A合成成功了.
前 3 个测试点满足
1≤a,b,c,d≤105
后 2 个测试点满足
1≤a,b,c,d≤109
输入格式:输入 4 个整数a, b, c, d.
输出格式:若可以合成化合物,那么输出小A的最小操作次数,否则输出−1
输入样例1:15 2 3 2
输出样例1:进行 1 次操作后,容器里有 7 克物质A与3 克物质B, 此时 7/3>2, 不满足条件,2次操作后,容器里有 9 克物质A与6 克物质B, 此时 9/6<=2 满足条件,因此答案为 2.
12
输入样例2:16 9 2 3
输出样例2:1-1
输入样例3:1100000 99999 100000 1
输出样例3:1100000
思路直接暴力循环求解会超时,得不到满分
设x为某时物质A的质量,y为某时物质B的质量,操作n次后满足条件,即满足(a+b*n)/c*n <= d,根据该公式推导出n的解公式即可
代码1234 ...