Advertisement

2022-5浙江工业大学计算机学院转专业二志愿机试题目

阅读量:

这次的第二志愿机试算是非常简单的了,然后今年的一志愿面试其实也很简单,可惜我一志愿考前没有认真准备,到最后只做了三道。这次我把二志愿题目搬到这里,以供参考

题号 题目
Problem A 亮健康码
Problem B 某月天数
Problem C 胜利V字
Problem D 质数字符
Problem E 质数字符
Problem A:亮健康码
Description
在疫情防控的大局下,各地出入均要求亮码测温。请你将出示健康码的提示打印在屏幕上。
Input
Output
见样本输出。一行输出,无须换行。
Sample Input
`
`
Sample Output
`
\ Show me your health QR code, please./
`

别忘记加转义字符就行
#include <iostream> using namespace std; int main() { cout << "\"\ Show me your health QR code, please.\"" << endl; return 0; }
Problem B:某月天数
Description
小A要印日历,他必须要能知道某年某月有几天才能去印刷。现在请你想办法来帮他算一- 算。
Input
多组数据,每组-行,分别输入两个int范围内的整数:年份和月份。其中,正确的输入数据需要满足:年份∈[1900,5000]月份∈[1,12]。数据组数不超过100
Output
对于每组数据输出一行,根据给出的年份和月份,给出这个月份的天数。如果输入年份或者月份错误则输出The year or month is error
Sample Input
2022 5 1900 2 2000 2 1600 7
Sample Output
31 28 29 The year or month is error
*
判断闰年,顺便别忘记判断错误年月日
`cpp
#include
using namespace

本次第二批次的计算机测试相对较为简单。相比之下,今年的一批次面试内容也较为基础。遗憾的是,在备考阶段我对一批次的准备不够充分,在此期间仅完成了三道试题的练习。在本次整理过程中,我特意将第二批次的试题内容整理到这里以便供各位考生参考使用。

题号 题目
Problem A 亮健康码
Problem B 某月天数
Problem C 胜利V字
Problem D 质数字符
Problem E 质数字符

Problem A:亮健康码

Description

在疫情防控的整体框架下,在各级别出入点都实施了健康码查验制度和体温监测要求。请相关部门按照指示,在规定时间内制作电子版健康码,并将其作为出入人员身份验证的重要依据,在出入口显著位置进行展示。

Input

Output

见样本输出。一行输出,无须换行。

Sample Input

Sample Output

"\Show me your health QR code, please./"


别忘记加转义字符就行

复制代码
 #include<iostream>

    
 using namespace std;
    
 int main()
    
 {
    
 cout<<"\"\ Show me your health QR code, please.\/\""<<endl;
    
 return 0;
    
 }

Problem B:某月天数

Description

小A想要印刷日历,他必须能够知道某年某月共有多少天才能完成印刷任务.现在,请你能够帮助他计算一下.

Input

多组数据,每组-行,分别输入两个int范围内的整数:年份和月份。

其中,正确的输入数据需要满足:年份∈[1900,5000]月份∈[1,12]。

数据组数不超过100

Output

根据用户的指示,在每组数据的基础上输出一行结果,请提供指定的年份和月份信息。当输入的年份或月份有误时返回'The input year or month is invalid'。

Sample Input

2022 5

1900 2

2000 2

1600 7

Sample Output

31

28

29

The year or month is error


判断闰年,顺便别忘记判断错误年月日

复制代码
 #include<iostream>

    
 using namespace std;
    
 int main()
    
 {
    
 	int y,m,m1[12]={31,28,31,30,31,30,31,31,30,31,30,31},mark=0;
    
 	while(cin>>y>>m)
    
 	{
    
 		if(m>0&&m<13&&y>1899&&y<5001)
    
 		{
    
 			if((y%4==0&&y%100!=0||y%400==0)&&m==2)cout<<29<<endl;
    
 			else cout<<m1[m-1]<<endl; 
    
 		}
    
 		else cout<<"The year of month is error"<<endl; 
    
 	}
    
 	return 0;
    
 }

Problem C:胜利V字

Description

请确保输出仅包含改写后的内容

需要改写的内容如下

改写内容放在【

小A即将参加专业考试,请为小A编写一个程序,在计算机上绘制一个象征胜利的V型图案,并用计算机生成一段充满祝福的文字.

Input

多组数据, 每组-行,给出V的高度N。数据组数不超过50,N为整数且N∈([3,50]。

Output

根据每一组数据, 采用字母 V 的形式绘制高度为 N 个单位的 V 型, 宽度设定为 2 个单位的具体要求, 请参考样例展示。完成每组数据后, 在行末添加一个空白行

Sample Input

4

5

Sample Output

这里我放张图了,你们可能能好理解点。。。


复制代码
 #include<iostream>

    
 using namespace std;
    
 int main()
    
 {
    
 	int i,j,k,n;
    
 	while(cin>>n)
    
 	{
    
 		for(i=0;i<n-2;i++)
    
 		{
    
 			for(j=i;j>0;j--)cout<<' ';
    
 			cout<<"VV";
    
 			for(k=0;k<n*2-i*2-5;k++)cout<<' ';
    
 			cout<<"VV"<<endl;
    
 		}
    
 		for(i=0;i<n-2;i++)cout<<' ';
    
 		cout<<"VVV"<<endl;
    
 		for(i=0;i<n-1;i++)cout<<' ';
    
 		cout<<'V'<<endl<<endl;
    
 	}
    
 	return 0;
    
 }

将最后两行V独立处理,以及,别忘记输出格式

Problem D:质数字符

Description

部分字符的ASCII数值恰好是素数。请在数据串中找出所有满足条件的字符。

Input

多个数据集排布方式下,在每一行对应一个独立的数据块进行处理,并且每个输入行都包含由字母、数字、符号和空格组成的字符串;其中每个字符串的长度均小于500字符,并且总共有不超过50个这样的输入行

Output

每当处理一组数据时,在每一行中按照从左到右的顺序逐一生成ASCII编码值属于质数的所有字符;如果同一字符多次出现,则会相应地进行多次输出而不进行去重处理。

若没有符合要求的字符仅输出一个空行。

Sample Input

ABCD EFGH IJKLM N

Abc defgh ijkl mn

Sample Output

CGI

egkm


复制代码
 #include<iostream>

    
 #include<string>
    
 #include<cmath>
    
 using namespace std;
    
 bool zhi(int a)
    
 {
    
 	if(a==1)return false;
    
 	for(int i=2;i<=sqrt(a);i++)
    
 	{
    
 		if(a%i==0)return false;
    
 	}
    
 	return true;
    
 }
    
 int main()
    
 {
    
 	int i,j,k,n;
    
 	string c;
    
 	while(getline(cin,c))//ÒòΪÓпոñËùÒÔÓÃgetline 
    
 	{
    
 		for(i=0;i<c.length();i++)
    
 		{
    
 			if(zhi((int)c[i]))cout<<c[i];
    
 		}
    
 		cout<<endl;
    
 	}
    
 	return 0;
    
 }

也是注意格式这种问题,其实问题都非常简单。


Problem E:质数字符

Description

对于一个具有唯一性的无重复数据集A1, A2, A3, ……, An, 我们采用以下方案以实现数据之间的较量。

第一次,A1和A2-An依次进行比赛。若A1大,它就得1分,反之对手数字得1分

第二次,A2和A3-An依次进行比赛。若A2大,它就得1分,反之对手数字得1分;

第三次,A3和A4-An依次进行比赛。若A3大,它就得1分,反之对手数字得1分;

Input

多组数据, 每组数据一-行。、

每组数据的第一个数值N (N<50) 代表集合中的数据数量,并具体包括N个互不相同的数值。每个数值的取值范围都在整数范围内,并且最多有50组不同的数值组合。

Output

对于每个数据集进行处理时,请记录该集合在每次比赛中获得的具体分数。
最后按照积分从低到高排列并展示这些集合的数据。
各组之间的结果用逗号分隔,并在每组结果后添加一个空白行以确保格式的一致性

Sample Input

5 12 34 4 55 7

6 98 76 5 43 2 10

Sample Output

2,1,0,1,0

2,3,0,2,0

2,3,0,3,1

2,3,0,4,1

2,3,0,4,1

4,7,12,34,55

1

5,0,0,0,0,0

5,4,0,0,0,0

5,4,1,1,0,1

5,4,1,3,0,1

5,4,1,3,0,2

5,4,1,3,0,2

2,5,10,43,76,98


复制代码
 #include<iostream>

    
 using namespace std;
    
 int main()
    
 {
    
 	int i,j,k,n,a[50],b[50];
    
 	string c;
    
 	while(cin>>n)
    
 	{
    
 		for(i=0;i<n;i++)
    
 		{
    
 			cin>>a[i];
    
 			b[i]=0;
    
 		}
    
 		for(i=0;i<n;i++)
    
 		{
    
 			for(j=i+1;j<n;j++)
    
 			if(a[i]>a[j])b[i]++;
    
 			else b[j]++;
    
 			for(k=0;k<n;k++)
    
 			{
    
 				if(k!=0)cout<<',';
    
 				cout<<b[k]; 
    
 			}
    
 			cout<<endl;
    
 		}
    
 		for(i=0;i<n;i++)
    
 		for(j=i;j<n;j++)
    
 		{
    
 			if(a[i]>a[j])
    
 			{
    
 				k=a[i];
    
 				a[i]=a[j];
    
 				a[j]=k;
    
 			}
    
 		}
    
 		for(k=0;k<n;k++)
    
 			{
    
 				if(k!=0)cout<<',';
    
 				cout<<a[k]; 
    
 			}
    
 			cout<<endl;
    
 	}
    
 	return 0;
    
 }

可以看出每位选手均参与了n−1场比赛,
最高得分总是属于最强的那位选手,
因此,在完成所有计算后,
只需将结果按照降序排列即可。

全部评论 (0)

还没有任何评论哟~