A - 检查宿舍卫生

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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员豪仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值