2020蓝桥杯真题成绩分析 C语言/C++

  • Post author:
  • Post category:其他


题目描述

小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。

请计算这次考试的最高分、最低分和平均分。

输入描述

输入的第一行包含一个整数 (1≤n≤10^4 ),表示考试人数。

接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。

输出描述

输出三行。

第一行包含一个整数,表示最高分。

第二行包含一个整数,表示最低分。

第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。

输入输出样例

示例

输入

7

80

92

56

74

88

99

10

输出

99

10

71.29

运行限制

最大运行时间:1s

最大运行内存: 256M

所需变量

int score[10000];//用于存储所输入进来的每一个分数

int n;//代表一共有多少名同学

int max;//代表最高分

int min;//代表最低分

int sum = 0;//代表这些分数总分,最后好求平均分

float ave;//代表平均分

思路:我们再输入的过程中就确定最高分和最低分,然后再把sum求出来,最后我们就只需要输出最高分和最低分,顺便再计算一下平均分数多少,输出出来就可以了!部分代码如下:

scanf("%d",&score[0]);
max = score[0];
min = score[0];
sum += score[0];
for(int i=1;i<n;i++){
  scanf("%d",&score[i]);
  if(score[i]>max)
    max = score[i];
  if(score[i]<min)
    min = score[i];
  sum += score[i];
}

获得这些数据之后在进行下一步:补充完整!

完整代码如下(编译器是dev,语言是C语言):

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // 请在此输入您的代码
  int score[10000],n,max,min,sum=0;
  float ave;
  scanf("%d",&n);
  scanf("%d",&score[0]);
  max = score[0];
  min = score[0];
  sum += score[0];
  for(int i=1;i<n;i++){
    scanf("%d",&score[i]);
    if(score[i]>max)
      max = score[i];
    if(score[i]<min)
      min = score[i];
    sum += score[i];
  }
  ave = (sum*1.0)/n;
  printf("%d\n%d\n%.2f",max,min,ave);
  return 0;
}

在这里插入图片描述



版权声明:本文为weixin_43708800原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。