當前位置:編程學習大全網 - 編程語言 - 將10人的C語言成績存儲並輸出,求10人的平均成績,並查分,按成績由高到低排列(用C語言編程)

將10人的C語言成績存儲並輸出,求10人的平均成績,並查分,按成績由高到低排列(用C語言編程)

#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;

}

沒有檢查,測試...自己查吧

  • 上一篇:中國神話傳說中的五位大神是誰?
  • 下一篇:勞裏地震儀的靈敏度
  • copyright 2024編程學習大全網