#include <stdio.h>
#include <string.h>
#define N 10
struct STU
{
char num[10];
char name[10];
float score;
};
void sort(struct STU*st)
{
struct STU t;
int i,j,min;
for(i=0;i<N-1;i++)
{
min=i;
for(j=i+1;j<N;j++)
if(st[min],score<st[j],score)
min=j;
t=st[i];
st[i]=st[min];
st[min]=t;
}
}
void main()
{
struct STU s[N];
int i;
for(i=0;i<N;i++)
scanf("%s%s%f",s[i].num,s[i].name,&s[i].score);
sort(s);
for(i=0;i<N;i++)
printf("%s%s%f\n",s[i].num,s[i].name,s[i].score);
printf("\n");
}
哪个地方出错了?
--------------------Configuration: 37 - Win32 Debug--------------------
Compiling...
37.cpp
F:\C语言\C++6.0\文件\37.cpp(18) : error C2065: 'score' : undeclared identifier
F:\C语言\C++6.0\文件\37.cpp(18) : error C2677: binary '<' : no global operator defined which takes type 'struct STU' (or there is no acceptable conversion)
执行 cl.exe 时出错.
37.obj - 1 error(s), 0 warning(s)
题目是这样的:有10名学生,每名学生有一门课程的成绩,按成绩由高到低排序。要求:(1)利用结构体数组存放数据;(2)通过函数调用方式。