1. 学生的记录由学号和成绩组成,N名学生的数据在主函数中放入结构体数组a中,请编写函数fun,它的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。在主函数中调用函数fun,并输出结果。
学生的记录由学号和成绩组成,N名学生的数据在主函数中放入结构体数组a中,请编写函数fun,它的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。在主函数中调用函数fun,
- 提问者网友:十年饮冰
- 2021-08-23 04:24
- 五星知识达人网友:末日狂欢
- 2021-08-23 05:28
#include<stdio.h>
#include<string.h>
#define N 5
#define MAX 10
struct Student
{
int _sid;
double _score;
public:
void ReadInfo(int sid,double score)
{
_sid=sid;
_score=score;
}
void PrintOut()
{
printf("Id:%d\tScore:%lf\n",_sid,_score);
}
//取最小分数
static Student GetLowestScore(Student students[],int length)
{
Student student;
student._sid=students[0]._sid;
student._score=students[0]._score;
for(int i=1;i<length;++i)
{
if(students[i]._score<student._score)
{
student._sid=students[i]._sid;
student._score=students[i]._score;
}
}
return student;
}
};
void main()
{
printf("请输入%d个学生的成绩:\n",N);
Student students[N];
int id;
double score;
for(int i=0;i<N;++i)
{
printf("第%d个学生:\n",i+1);
printf("学号:");
scanf("%d",&id);
printf("成绩:");
scanf("%lf",&score);
students[i].ReadInfo(id,score);
}
printf("最小成绩的学生情况是:\n");
Student::GetLowestScore(students,N).PrintOut();
getchar();
}
- 1楼网友:酒醒三更
- 2021-08-23 07:14
- 2楼网友:廢物販賣機
- 2021-08-23 06:33
#include <stdio.h> 不知道你是需要用什么语言写,所以就用C语言写了一个,数据由手动输入,如果你要读文件可以自行修改下,fun函数满足要求,代码如下:
#define numbersize 20 #define maxsize 100
struct student { char studentId[numbersize]; int score; };
void fun(student * a,int length,int *n) { int min = a[0].score,i; for(i = 0, *n = 0; i < length; i++) if( min > a[i].score ) *n = i; }
int main() { student A[maxsize]; int n,min,i; printf("please input the number of student:"); scanf("%d",&n); for( i = 0; i < n; i++) { printf("please input the %d student\'s id:",i+1); scanf("%s",&A[i].studentId); printf("please input the %d student\'s score:",i+1); scanf("%d",&A[i].score); } fun(A,n,&min); printf("student\'s id: %s\nstudent\'s score: %d",A[min].studentId,A[min].score); return 0; }