Description
不知道是从哪个学校开始兴起的还是哪个领导的决定,学校里每周都要检查宿舍卫生!大家发现没有,检查宿舍卫生是件很奇葩的事情,它剥削了每件物品的意义:垃圾桶里不能有垃圾,挂钩上不能挂东西,桌子上不能放东西,床上不能躺人!!假设检查卫生分为五项成绩:垃圾桶得分、挂钩得分、桌子得分、床铺得分和窗台得分。每项满分20分,总分满分为100分。按照计算机学院奇葩的规定,宿舍成绩在85分以下就要算作不合格。某天,宿管阿姨给了你一个检查完宿舍的打分表,让你帮忙统计下有多少个宿舍没有达到85分(等于85分是可以的),并且统计成绩最高分。
Input
第一行为一个整数 n (0 < n <= 100),代表你要统计的宿舍的总数,接下来 n 行每行为 5 个整数,代表宿舍五项成绩的得分。
Output
输出只有一行,由一个空格分隔的两个整数:总分不合格的宿舍数和宿舍总分最高分,如果最高分仍小于85分,则输出为不合格的宿舍数和“No”(不包含引号)。
Sample
Input
5 1 2 3 4 5 10 20 10 20 20 20 20 20 20 20 15 15 15 20 20 10 10 10 10 10
Output
3 100
C语言中的结构体
在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
结构体变量
结构体是C语言中一种重要的数据类型,该数据类型由一组称为成员(或称为域,或称为元素)的不同数据组成,其中每个成员可以具有不同的类型。结构体通常用来表示类型不同但是又相关的若干数据
结构体类型不是由系统定义好的,而是需要程序设计者自己定义的。C语言提供了关键字struct来标识所定义的结构体类型。
关键字struct和结构体名组合成一种类型标识符,其地位如同通常的int、char等类型标识符,其用途就像 int 类型标识符标识整型变量一样可以用来定义结构体变量。定义变量以后,该变量就可以像定义的其他变量一样使用了;成员又称为成员变量,它是结构体所包含的若干个基本的结构类型,必须用“{}”括起来,并且要以分号结束,每个成员应表明具体的数据类型。
定义与声明
结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。
struct tag {
member-list
} variable-list ;
在一般情况下,tag、member-list、variable-list这3部分至少要出现2个。以下为示例:
方法一:定义结构体类型时,同时定义该类型的变量
struct [student] /* [ ]表示结构体名是可选的 */
{undefined
char name[10];
char sex;
int age;
float score;
}stu1, ps, stu[5]; / 定义结构体类型的普通变量、指针变量和数组 */
方法二:先定义结构体类型,再定义该类型的变量
struct student
{undefined
char name[10];
char sex;
int age;
float score;
};
struct student stu1, ps, stu[5]; / 定义结构体类型的普通变量、指针变量和数组 */
方法三:用类型定义符typedef先给结构体类型命别名,再用别名定义变量
typedef struct [student]
{undefined
char name[10];
char sex;
int age;
float score;
}STU;
STU stu1, ps, stu[5]; / 用别名定义结构体类型的普通变量、指针变量和数组 */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
struct dorm{
int tr;
int h;
int ta;
int b;
int w;}dor;
int main(){
int n, score[100], max = 0, count = 0, i;
scanf("%d", &n);
memset(score, 0, sizeof(score));
for(i = 0; i < n; i++){
scanf("%d", &dor.tr);
scanf("%d", &dor.h);
scanf("%d", &dor.ta);
scanf("%d", &dor.b);
scanf("%d", &dor.w);
score[i] = score[i] + dor.tr;
score[i] = score[i] + dor.h;
score[i] = score[i] + dor.ta;
score[i] = score[i] + dor.b;
score[i] = score[i] + dor.w;
}
for(i = 0; i < n; i++){
if(score[i] < 85){
count++;
}
if(score[i] >= max){
max = score[i];
}
//printf("%d\n", score[i]);
}
if(max < 85){
printf("%d No\n", count);
}
else{
printf("%d %d\n", count, max);
}
return 0;
}