# include & ltstdlib.h & gt
#define STU_NUM 10 /*宏定義學生人數*/
Structure student/*定義壹個結構來存儲學生的學號、三門課程的分數、總分和平均分*/
{
char stu _ id[20];/*學生證;*/
浮動分數[3];/*三門課成績;*/
浮動總額;/*總分;*/
浮動aver/*平均分;*/
};
/*排序是通過函數實現的*/
void SortScore(student *stu,int n)
{
學生學習;
for(int I = 0;我& ltn-1;i++)
for(int j = I+1;j & ltn;j++)
{
如果(斯圖[我]。總計& lt斯圖[j]。總計)
{
stud = stu[I];
stu[I]= stu[j];
stu[j]= stud;
}
}
}
int main()
{
學生STU[STU _ NUM];/*創建的結構數組中有10個元素,分別用來保存這10個人的相關信息。*/
/*輸入這十個學生的相關信息*/
for(int I = 0;我& ltSTU _ NUMi++)
{
Printf("請輸入%d學生的學號:",I+1);
scanf("%s ",& amp斯圖[我]。stu _ id);
Printf("輸入%d學生的數學成績:",I+1);
scanf("%f ",& amp斯圖[我]。得分[0]);
Printf("輸入%d學生的英語成績:",I+1);
scanf("%f ",& amp斯圖[我]。得分[1]);
Printf("輸入%d學生的計算機成績:",I+1);
scanf("%f ",& amp斯圖[我]。得分[2]);
斯圖[我]。total = stu[i]。score[0]+stu[i]。score[1]+stu[i]。得分[2];
斯圖[我]。aver = stu[i]。總數/3;
}
printf(" \ n ");
排序分數(stu,STU _ NUM);/*呼叫排序功能*/
/*輸出排序後的學生成績*/
for(I = 0;我& ltSTU _ NUMi++)
{
Printf("序列號:%d\t ",I);
Printf("學號:%s\t ",stu[i]。stu _ id);
Printf ("Math: %f\t ",stu[i]。得分[0]);
Printf("英語:%f\t ",stu[i]。得分[1]);
Printf("計算機:%f\t ",stu[i]。得分[2]);
Printf ("GPA: %f\t ",stu[i]。aver);
Printf("總分:%f\t ",stu[i]。合計);
printf(" \ n \ n ");
}
返回0;
}
註:(源程序中主要標識符的描述)
#define STU_NUM 10 /*宏定義學生人數*/
Structure student/*定義壹個結構來存儲學生的學號、三門課程的分數、總分和平均分*/
{
char stu _ id[20];/*學生證;*/
浮動分數[3];/*三門課成績;*/
浮動總額;/*總分;*/
浮動aver/*平均分;*/
}