#include <stdio.h>
#define STUDENT_NUM 10
typedef struct
{
int no; /* å¦å· */
char name[16]; /* åå */
float fraction; /* æ绩 */
}StudentInfo;
void outputFraction(int student_num, StudentInfo * student_list)
{
int i;
if (student_list == NULL) return;
for (i = 0; i < student_num; i++)
{
printf("å¦ç:%s Cè¯è¨æ绩:%f\n", student_list[i].name, student_list[i].fraction);
}
}
void bubbleSort(int student_num, StudentInfo * student_list)
{
int i, j;
StudentInfo temp;
if (student_list == NULL) return;
for (j = 0; j < student_num - 1; j++)
{
for (i = 0; i < student_num - 1 - j; i++)
{
if (student_list[i].fraction < student_list[i + 1].fraction)
{
temp = student_list[i];
student_list[i] = student_list[i + 1];
student_list[i + 1] = temp;
}
}
}
}
float varFraction(int student_num, StudentInfo * student_list)
{
int i;
float all;
all = 0.0f;
if (student_list == NULL) return all;
for (i = 0; i < student_num; i++)
{
all += student_list[i].fraction;
}
return all / student_num;
}
StudentInfo searchFraction(int student_num, StudentInfo * student_list, int no)
{
int i;
StudentInfo s;
if (student_list == NULL) return s;
for (i = 0; i < student_num; i++)
{
if (no == student_list[i].no)
{
s = student_list[i];
break;
}
}
return s;
}
int main(int argc, char *argv[])
{
int student_num;
StudentInfo student_list[STUDENT_NUM];
StudentInfo student;
int i;
float var_f;
int no;
student_num = STUDENT_NUM;
/* è¾å
¥ä¿¡æ¯ */
printf("è¾å
¥å¦çä¿¡æ¯(æ ¼å¼: å§å åæ°)\n");
for (i = 0; i < student_num; i++)
{
scanf("%d %s %f", &(student.no), student.name, &(student.fraction));
student_list[i] = student;
}
printf("è¾åºå¦çæ绩(æåºå)\n");
outputFraction(student_num, student_list);
/* æåº */
bubbleSort(student_num, student_list);
printf("è¾åºå¦çæ绩(æåºå)\n");
outputFraction(student_num, student_list);
/* æ±å¹³åå¼ */
var_f = varFraction(student_num, student_list);
printf("å¹³å±æ绩: %f\n", var_f);
/* æ¥æ人æ绩(noæ¯å¦å·) */
printf("è¾å
¥æ¥è¯¢å¦çå¦å·:\n");
scanf("%d", &no);
student = searchFraction(student_num, student_list, no);
printf("å¦ç:%s Cè¯è¨æ绩:%f\n", student.name, student.fraction);
return 0;
}
没ææ£æ¥ï¼æµè¯...èªå·±æ¥å§