C语⾔:学⽣成绩排名----冒泡排序 题⽬:
/*
输⼊10个学⽣成绩、
计算总分以及平均分数、
求出⾼于等于平均分的⼈数、
c语言的冒泡排序算法再按降序(由⼤到⼩)排序成绩并输出
*/
⽤到的冒泡算法代码模板:
1//外层控制轮数
2 for(i = 0; i < i; i++)
3 {
4  //内层控制每轮⽐较次数
5  for(j = 0; j < i; j++)
6  {
7  if(num[j] > num[j + 1])
8
9            //注意把 <;号改成 >号就变成了升序排序 ~
10  {
11    temp = num[j];
12    num[j] = num[j + 1];
13    num[j + 1] = temp;
14    }
15
16  }
17
18  }
学⽣成绩计算和排序代码:
1#include<stdio.h>
2#define N 10
3int main()
4{
5
6
7 double grade[10] = {};//成绩
8 double sum = 0, avg, temp;//sum总分,平均数 ,临时变量
9 int i, j, num = 0;//i,j变量和num⾼于平均数的⼈数
10 printf("请输⼊10个学⽣的成绩:");
11 for(i = 0; i < 10; i++)
12 {
13  scanf("%lf", &grade[i]);
14 }
15
16 for(i = 0; i < 10; i++)
17 {
18  sum += grade[i];
19 }
20 printf("\n总成绩是:%.2lf\n", sum);
21 avg = sum / 10;
22 printf("平均成绩是:%.2lf\n", avg);
23 for(i = 0; i < N - 1; i++)
24 {
25  for(j = 0; j < N - i - 1; j++)
26 {
27
28  if(grade[j] < grade[j + 1])
29  {
30  temp = grade[j];
31  grade[j] = grade[j + 1];
32  grade[j + 1] = temp;
33  }
34 }
35 }
36
37 for(i = 0; i < 10; i++)
38 {
39  if(grade[i] > avg)
40  {
41  num += 1;
42  }
43 }
44  printf("⾼于平均分数的有%d个⼈", num);
45 printf("\n");
46 for(i = 0; i < 10; i++)
47 {
48  printf("%.2lf\t",grade[i]);
49 }
50 return 0;
51 }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。