C语言学习笔记:|| 一维数组 ||求学生人数、班级最高分、哪位同学最高分、班级课程平均分
程序员文章站
2022-07-13 08:35:26
...
C语言学习笔记:|| 一维数组 ||求学生人数、班级最高分、哪位同学最高分、班级课程平均分
1.程序设计:
按要求输入学生的单科分数(若输入负数等其他字符则结束再输入学生的单科分数)
//数组--学生人数、计算班级最高分、哪位同学最高分、班级平均分。
#include <stdio.h>
#include <math.h>
#define N 40
int Inputscore(int score[]);
int Findmaxvalue(int score[], int n);
int Findmaxindex(int score[], int n);
float Average(int score[], int n);
int main()
{
int score[N], maxvalue, n, maxindex;
float aver;
n=Inputscore(score);
printf("学生的总人数是%d人。\n", n);
maxvalue = Findmaxvalue(score, n);
maxindex = Findmaxindex(score, n);
aver = Average(score, n);
printf("本班级里最高分为%d,是编号为score[%d]的同学。\n", maxvalue, maxindex);
printf("本班级里平均分为%.2f。\n",aver);
return 0;
}
int Inputscore(int score[])
{
int i=-1;
printf("please input the score:\n");
do
{
i++;
scanf("%d",&score[i]);
}
while(score[i]>=0);
return i;
}
int Findmaxvalue(int score[], int n)
{
int maxvalue, i;
maxvalue=score[0];
for(i=1; i<n; i++)
{
if(score[i]>maxvalue)
maxvalue=score[i];
}
return maxvalue;
}
int Findmaxindex(int score[], int n)
{
int i, maxindex=0;
for(i=0; i<n; i++)
{
if(score[i]>score[maxindex])
{
maxindex=i;
}
}
return maxindex;
}
float Average(int score[], int n)
{
int i, sum=0;
float aver;
for(i=0; i<n; i++)
{
sum+=score[i];
}
aver=(float)sum / n;
return aver;
}
2.运行结果:
编号下标从0开始,score[2]即是第三各学生的分数。平均分保留2位小数。
上一篇: 最小生成树-普利姆和克鲁斯卡尔算法
下一篇: 爬梯:Docker全解析(二)