• 统计同成绩学生人数


    Problem Description
    读入N名学生的成绩,将获得某一给定分数的学生人数输出。

    Input
    测试输入包含若干测试用例,每个测试用例的格式为

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

    当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。

    Output
    对每个测试用例,将获得给定分数的学生人数输出。

    Sample Input
    3
    80 60 90
    60
    2
    85 66
    0
    5
    60 75 90 55 75
    75
    0

    Sample Output
    1
    0
    2

    #include <iostream>
    #include<algorithm>
    #include<string.h> using namespace std; int main() { //bool pass = false; int N,ggrade,countG=0; int grade[100];
    memset(grade,0,sizeof(grade)); cin
    >> N; for(int i=0;i<N;i++) cin >> grade[i]; cin >> ggrade; sort(grade,grade+N); for(int j=0;j<N;j++){ if(grade[j]<ggrade) continue; else if(grade[j]== ggrade){ //pass = true; countG++; continue; } else break; } //if(pass == true) cout << countG<<endl; //else // count << 0 << endl; return 0; }

    发现写的方法和别人不一样。。。别人遍历或者用map写的。。。emmm呵呵了

    其他两种写法看别人的例子吧:题目1018:统计同成绩学生人数

    总结:memset()函数及其作用

    超级推荐memset函数,用来初始化超级方便,头文件是<string.h>
     

    memset(结构体/数组名 , 用于替换的ASCII码对应字符 , 前n个字符 );

    memset(结构体/数组名 , "用于替换的字符“ , 前n个字符 );

    函数解释:将s中的前n个字节用ch替换并且返回s

    函数作用:在一段内存块中填充某一个给定的值,常用于较大的对结构体和数组的清零操作,一般用在对定义的字符串进行初始化为‘0 ’或‘/0’。

    例:char a[100];

    memset(a, '/0', sizeof(a));

        memset可以方便的清空一个结构类型的变量或数组。

    如:

    struct sample_struct
    {
    char csName[16];
    int iSeq;
    int iType;
    };

     

    对于变量:
    struct sample_strcut stTest;

    一般情况下,清空stTest的方法:

    stTest.csName[0]='/0';
    stTest.iSeq=0;
    stTest.iType=0;

    用memset就非常方便:
    memset(&stTest,0,sizeof(struct sample_struct));

     

    如果是数组:

    struct sample_struct TEST[10];

    memset(TEST,0,sizeof(struct sample_struct)*10);

  • 相关阅读:
    算法:基于分布的排序算法
    剑指offer:镜像二叉树
    算法:基于比较的排序算法
    LeetCode做题笔记-135
    初识YOLO
    PHP课设图览
    浅谈C语言整型与浮点型转换
    SQL Server EXPRESS 安装
    2020CCPC 东北四省(区域)赛题目一览
    2020CCPC 黑龙江省赛题目一览
  • 原文地址:https://www.cnblogs.com/xym4869/p/8509680.html
Copyright © 2020-2023  润新知