文章目录
华北理工大学以升实验班蓝桥杯选拔赛题解
A:期末考试
题目描述
Description
期末考试过去许多天了,如今成绩都出来了,那么现在让我们对成绩我分个类吧,
金金说,考了:
90~100为"Great"
70~89为"Good"
60~69为"Average"
0~59位"Poor"
如果你回答错误,金金就让你的寒假多做一万道数学题。
Input
一行一个整数,为分数
Output
输出对应的等级
Sample Input
74
Sample Output
Good
More Info
分数保证在0~100范围内
题目讲解
签到题,理解好题意就好。
但是观察提交数据发现大一学弟们好像都会在输出的同时加上一些提示信息例如“请输入您的分数:”。这样的话你就会在评测中出现多余的输出被判定为错。
代码
#include<stdio.h>
void main()
{
int a;
scanf("%d",&a);
if(a>=90&&a<=100)
printf("Great");
else if(a>=70&&a<=89)
printf("Good");
else if(a>=60&&a<=69)
printf("Average");
else
printf("Poor");
}
B:月份
题目描述
Description
金金脑子被僵尸吃掉了,于是他算不清楚这个月有多少天了。
于是金金求助你,问你某一年的某一个月有多少天。
如果回答错误,金金决定吃掉你的脑子给自己补一补。
Input
两个数a和b,分别为一个年份与一个月份。
Output
该月份有多少天。
Sample Input
2021 1
Sample Output
31
More Info
保证数据合法
题目讲解
1.首先要解决的就是判断闰年,闰年的定义为可以被4或者400整除但是不能被100整除的年份。
2.判断大小月。
关于如何使用逻辑语句判断闰年
if(y%400==0||(y%4==0&&y%100!=0)&&m==2)//判断闰年且月份是二月的语句。
代码
#include<iostream>
using namespace std;
int main()
{
int y,m;
scanf("%d%d",&y,&m);
if(y%400==0||(y%4==0&&y%100!=0)&&m==2)//先判断润二月
{
printf("29");
return 0;//输出完直接结束程序
}
if(m==2)//非闰年的年的二月
printf("28");
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)//大月
printf("31");
if(m==4||m==6||m==9||m==11)//小月
printf("30");
}
C:打饭
题目描述
Description
金金承包了华北理工大学的食堂,现在,他在思考一个问题。
现在是寒假期间,整个学校就只有一个食堂窗口开着。
现在有 n n n 个人排队在这个窗口打饭,第 i i i个人买完饭所需的时间是 t i t_i ti。
请问该如何安排这些人的打饭顺序,才能使所有人的等待时间之和最小?
如果回答错误,金金决定吃光你的晚饭。
Input
第一行包含整数 n n n 。
第二行包含 n n n 个整数,其中第 i i i个整数表示第 i i i个人买完饭所需的时间 t i t_i ti。
Output
输出一个整数,表示最小的等待时间之和。
Sample Input
7
3 6 1 4 2 5 7
Sample Output
56
More Info
1≤ n n n≤10^5
1≤ t i t_i t