解题思路:

注意事项:

参考代码:

#include <malloc.h>
#include <stdio.h>
#include <stdlib.h>
int p;
int print(int a[]);
void sort(int *a, int len) {
  int i, j, t;
  for (i = 0; i < len - 1; i++) {
    for (j = i + 1; j < len; j++) {
      if (a[i] < a[j]) {
        t = a[i];
        a[i] = a[j];
        a[j] = t;
      }
    }
  }
}

int main() {
  int n, i,j;
  scanf("%d", &n);
  int a[10005];
  int A, B, C, D, E;
  int flag = 0;
  int max;
  int b[5] = {0};
  int *arr = (int *)malloc(n * sizeof(int));
  for (i = 0; i < n; i++) {
    scanf("%d", &arr[i]);
    if (arr[i] >= 90 && arr[i] <= 100) {
      b[0]++;
    } else if (arr[i] >= 80 && arr[i] <= 89) {
      b[1]++;
    } else if (arr[i] >= 70 && arr[i] <= 79) {
      b[2]++;
    } else if (arr[i] >= 60 && arr[i] <= 69) {
      b[3]++;
    } else if (arr[i] >= 0 && arr[i] <= 59) {
      b[4]++;
    }
  }
  sort(arr,n);
  max = print(b);
  for(int i = 0;i<5;i++)
  {
      printf("%d ",b[i]);
  }
  printf("\n");
  printf("%d \n",max);
  for(i = 0;i<n;i++)
  {
      if(p==0&&arr[i] >= 90 && arr[i] <= 100) printf("%d ",arr[i]);
      else if(p==1&&arr[i] >= 80 && arr[i] <= 89)printf("%d ",arr[i]);
      else if(p==2&&arr[i] >= 70 && arr[i] <= 79)printf("%d ",arr[i]);
      else if(p==3&&arr[i] >= 60 && arr[i] <= 69)printf("%d ",arr[i]);
      else if(p==4&&arr[i] >= 0 && arr[i] >60)printf("%d ",arr[i]);
  }
  free(arr);
  return 0;
}
int print(int a[]) {//找最大值的函数
  int max;
  max = a[0];
  for (int i = 0; i < 5; i++) {
    if (a[i] > max) {
      max = a[i];
      p = i;
    }
  }
  return max;
}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论