(C语言练习)假设某实验小组的5名学生,C语言模考成绩已给定(要求学生从外部键盘输入),现要求对其降序输出,并统计低于平均分的学生人数,并输出最高分和最低分。
Posted 赛罗丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(C语言练习)假设某实验小组的5名学生,C语言模考成绩已给定(要求学生从外部键盘输入),现要求对其降序输出,并统计低于平均分的学生人数,并输出最高分和最低分。相关的知识,希望对你有一定的参考价值。
(C语言练习)假设某实验小组的5名学生,C语言模考成绩已给定(要求学生从外部键盘输入),现要求对其降序输出,并统计低于平均分的学生人数,并输出最高分和最低分。
一.代码
#include <iostream>
#include<malloc.h>
int main()
{
int * p; //定义指针变量
int a;
float avg=0; //平均成绩
float sum = 0;
int count=0; //定义低于平均成绩的人数
int i, j, t;
int len; //定义实验小组学生变量
printf("请输入这个实验小组的学生数量\\n");
scanf_s("%d", &len);
printf("这五位学生的考试成绩分别是:\\n");
//通过malloc函数分配内存空间
p = (int *)malloc(5 * 5);
for (a = 0; a < len; a++)
{
scanf_s("%d", &p[a]);
sum = sum + p[a]; //计算这5个人的总分数
}
printf("这五名学生的总成绩是:%0.2f\\n", sum);
//计算这5个人的平均分数
avg = sum / 5;
printf("这五名学生的平均分是:%0.2f\\n", avg);
//通过冒泡排序给学生成绩进行降序操作
for (i = 0; i < len - 1; i++)
{
for (j = 0; j < len - 1 - i; j++)
{
if (p[j] < p[j + 1])
{
t = p[j];
p[j] = p[j + 1];
p[j + 1] = t;
}
}
}
printf("这五位学生通过降序排后的成绩是:\\n");
for (int k = 0; k < len; k++)
{
printf("%d\\t", p[k]);
printf("\\n");
//判断低于平均分数的条件
if (p[k] < avg)
{
count++; //如果低于平均分 记录一次
}
}
printf("低于平均成绩的人数是:%d\\n", count);
//因为已经降序输出了,所以第1个学生成绩是分数最高的
printf("这五个学生中最高成绩是:%d\\n", p[0]);
//同理,最后一个输出的学生成绩是分数最低的
printf("这五个学生中最低成绩是:%d\\n", p[len-1]);
return 0;
}
二.输出结果
**请输入这个实验小组的学生数量
5
这五位学生的考试成绩分别是:
80
90
70
50
60
这五名学生的总成绩是:350.00
这五名学生的平均分是:70.00
这五位学生通过降序排后的成绩是:
90
80
70
60
50
低于平均成绩的人数是:2
这五个学生中最高成绩是:90
这五个学生中最低成绩是:50**
以上是关于(C语言练习)假设某实验小组的5名学生,C语言模考成绩已给定(要求学生从外部键盘输入),现要求对其降序输出,并统计低于平均分的学生人数,并输出最高分和最低分。的主要内容,如果未能解决你的问题,请参考以下文章
(C语言练习)假设某实验小组的5名学生,C语言模考成绩已给定(要求学生从外部键盘输入),现要求对其降序输出,并统计低于平均分的学生人数,并输出最高分和最低分。