c语言输入四个成绩求最高分最低分,数组实现学生成绩录入、求最高分、最低分、平均分和排序...
/*
使用數組實現10名學生的成績錄入,并輸出這10名學生中成績的
最高分
最低分
平均分
按照分數從大到小排序
思考:
如何實現從小到大排序?
如果學院有5個班,每個班30人,如何處理?
求所有成績中的最高分是哪個班的,第幾個學生,如何處理?
*/
#include
#define NUM 10
int main(int argc, const char * argv[])
{
//使用數組實現10名學生的成績錄入并輸出
int score[NUM];
for (int i = 0; i < NUM; i ++)
{
printf("請輸入第%d名學生的成績:",i+1);
scanf("%d",&score[i]);
}
for (int i = 0; i < NUM; i ++)
{
printf("\n第%d名學生的成績為:%d",i+1,score[i]);
}
//最高分
int MAX = score[0];
int idh = 1;
for (int i = 0; i < NUM; i ++)
{
if (score[i]>=MAX)
{
MAX = score[i];
idh = i + 1;
}
}
printf("\n\n最高分為第%d名學生為%d分\n",idh,MAX);
//最低分
int MIN = score[0];
int idl = 1;
for (int i = 0; i < NUM; i ++)
{
if (score[i]<=MIN)
{
MIN = score[i];
idl = i + 1;
}
}
printf("\n最低分為第%d名學生為%d分\n",idl,MIN);
//平均分
float sum = 0;
for (int i = 0; i < NUM; i ++)
{
sum = sum + score[i];
}
printf("\n學生的平均成績為:%f\n",sum/NUM);
//按照分數從大到小排序
for (int i = 0; i < NUM - 1; i ++)
{
for (int j = i + 1; j < NUM; j ++)
{
if (score[i] <= score[j])
{
int t =score[i];
score[i] = score[j];
score[j] = t;
}
}
}
for (int i = 0; i < NUM; i ++)
{
printf("\n第%d名學生的成績為:%d",i+1,score[i]);
}
return 0;
}
總結
以上是生活随笔為你收集整理的c语言输入四个成绩求最高分最低分,数组实现学生成绩录入、求最高分、最低分、平均分和排序...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fseek/ftell/rewind/f
- 下一篇: php服务器怎么设置cookie,php