C語言 | 輸出平均成績最高學生的信息


例41:有n個結構體變量,內含學生的學號,學號,和三門成績。要求輸出平均成績最高學生的信息(包括學號、姓名、三門課程成績和平均成績)


解題思路:將n個學生的數據表示為結構體數組(有n個元素)。按照功能函數化的思想,小林分別用3個函數來實現不同的功能。
源代碼演示:

#include<stdio.h>//頭文件
#define N 3//宏定義
struct student //學生類結構體
{
  int num; //學號
  char name[20];//姓名
  float score[3];//成績
  float aver;//平均分
} ;
int main() //主函數
{
  void input(struct student s[]);//函數聲明
  struct student max(struct student s[]);//函數聲明
  void print(struct student s);//函數聲明
  struct student s[N],*p=s;//定義結構體變量
  input (p);//調用函數
  print(max(p));//打印調用max函數結果
  return 0;//主函數返回值為0
}
 void input(struct student s[])//自定義輸入函數
 {
   int i;//定義整型變量
   printf("請輸入各學生的信息:學號、姓名、三門課成績:\n");//提示語句
   for(i=0;i<N;i++)//循環N次
   {
     scanf("%d %s %f %f %f",&s[i].num,&s[i].name,&s[i].score[0],&s[i].score[1],&s[i].score[2]);//輸入信息
     s[i].aver=(s[i].score[0]+s[i].score[1]+s[i].score[2])/3;//求平均值
   }
 }
 struct student max(struct student s[])//自定義求最大值
 {
   int i,m=0;//定義整型變量
   for(i=0;i<N;i++)//循環N次
  {
    if(s[i].aver>s[m].aver)//把平均分大的i賦值給m
    {
      m=i;
    }
  }
    return s[m];//將s[m]結果返回到函數調用處
 }
 void print (struct student stud)//自定義打印函數
 {
   printf("\n成績最高的學生是:\n");//提示語句
   printf("學號;%d\n姓名;%s\n三門課成績:%5.1f,%5.1f,%5.1f\n平均成績:%6.2f\n",
   stud.num,stud.name,stud.score[0],stud.score[1],stud.score[2],stud.aver);//輸出結果
 }

編譯運行結果如下:

請輸入各學生的信息:學號、姓名、三門課成績:
10010 Tom 100 90 80
10011 Jon 80 70 100
10012 Kim 100 90 95

成績最高的學生是:
學號;10012
姓名;Kim
三門課成績:100.0, 90.0, 95.0
平均成績: 95.00

--------------------------------
Process exited after 44.45 seconds with return value 0
請按任意鍵繼續. . .

C語言學習路線   

C語言開發工具

C語言 | 輸出平均成績最高學生的信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 C/C++語言入門——輸出學生成績(平均成績、最高成績、最低成績) 【Python】實現輸出成績最高或最低分的學生姓名以及低於平均分的學生姓名 有n個結構變量,內含學生學號,姓名和3門課程的成績。要求輸出平均成績的學生的信息 構建一個學生Student,根據類Student的定義,創建五個該類的對象,輸出每個學生的信息,計算並輸出這五個學生Java語言成績的平均值,以及計算並輸出他們Java語言成績的最大值和最小值。 有10個學生,每個學生的數據包括學號、姓名、3門課程的成績,從鍵盤輸人10個學生數據,要求輸出3門課程總平均成績,以及最高分的學生的數據(包括學號、姓名、3門課程成績、平均分數) 有10個學生,每個學生的數據包括學號、姓名、3門課程的成績,從鍵盤輸人10個學生數據,要求輸出3門課程總平均成績,以及最高分的學生的數據(包括學號、姓名、3門課程成績、平均分數) 從鍵盤讀入學生成績,找出最高分, 並輸出學生成績等級(Java) 練習11 --查詢選修"張三"老師所授課程的學生中,成績最高的學生信息及其成績 C語言之:結構體動態分配內存(利用結構體數組保存不超過10個學生的信息,每個學生的信息包括:學號、姓名和三門課(高數、物理和英語 )的成績和平均分(整型)。) 【C語言】(數組方式)輸出一組成績中的最高分與最低分
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM