C语言的问题 储存五名学生的信息 姓名学号总成绩 输出最高分最低分的程序
你可以定义5个数组啊,虽然有点low
这个方法,再排序,你还可以想点高级的东西,看你们作业要求吧,是只需要把成绩,学号这些一个类型一个类型按照一定顺序输出还是怎么样
#include
#define N 5
struct student
{
char name[25];
int num;
float grade;
};
void sort(float *grd,float *max,float *min)//传指针,才可以改变min和max的值
{
int i,j,a1,a2;
*max=grd[0];//给一个比较的初值
*min=grd[0];
for(j=0;j {
if(grd[j]>*max)
{
*max=grd[j];
}
if(grd[j]<*min)
{
*min=grd[j];
}
}
}
int main()
{
int i;
struct student s[N];//定义一个N个人的结构体数组
float grd[N];
float max,min;
for(i=0;i<N;i++)
{
printf("请输入第%d个学生的信息:",i+1);
scanf("%s%d%f",s[i].name,&s[i].num,&s[i].grade);
grd[i]=s[i].grade;//将分数放到一个数组里面
}
sort(grd,&max,&min);
printf("%d个学生中总分数最高的为%.2f分\n",N,max);
printf("%d个学生中总分数最低的为%.2f分\n",N,min);
return 0;
}
http://blog.sina.com.cn/s/blog_68d8771b0102v05z.html这篇文章似乎刚好是这个题目的答案。