九度 Online Judge 算法 刷题 题目1018:统计同成绩学生人数

本文详细介绍了如何使用C语言解决统计特定成绩学生数量的问题,包括输入解析、成绩范围验证、计数实现及输出展示。适用于计算机及软件工程领域的初学者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目1018:统计同成绩学生人数

题目描述:
读入N名学生的成绩,将获得某一给定分数的学生人数输出。
输入:
测试输入包含若干测试用例,每个测试用例的格式为

第1行:N
第2行:N名学生的成绩,相邻两数字用一个空格间隔。
第3行:给定分数

当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。
输出:
对每个测试用例,将获得给定分数的学生人数输出。
样例输入:
3
80 60 90
60
2
85 66
0
5
60 75 90 55 75
75
0
样例输出:
1
0
2
来源:
2006年浙江大学计算机及软件工程研究生机试真题

code

C语言实现

#include<stdio.h>

int main() {

    int N,i,x,flag;
    int *p = NULL;
    while(scanf("%d",&N) != EOF) {
        if (N == 0)
            break;
        else if (N<0 || N>1000)
            continue;
        else {
            flag = 0;
            p = (int*)malloc(sizeof(int)*N);
            for (i=0;i<N;i++) {
                scanf ("%d",p+i);
                if(p[i]<0 || p[i]>100) {
                    i--;
                }
            }
            scanf ("%d",&x);
            for(i=0;i<N;i++) {
                if(p[i] == x)
                    flag++;
            }
            printf("%d\n",flag);

        }
    }

    return 0;
}
/**************************************************************
    Problem: 1018
    User: langzimaizan
    Language: C
    Result: Accepted
    Time:10 ms
    Memory:912 kb
****************************************************************/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值