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++語言入門——輸出學生成績(平均成績、最高成績、最低成績) 構建一個學生Student,根據類Student的定義,創建五個該類的對象,輸出每個學生的信息,計算並輸出這五個學生Java語言成績的平均值,以及計算並輸出他們Java語言成績的最大值和最小值。 有10個學生,每個學生的數據包括學號、姓名、3門課程的成績,從鍵盤輸人10個學生數據,要求輸出3門課程總平均成績,以及最高分的學生的數據(包括學號、姓名、3門課程成績、平均分數) 用C# 設計一個 Windows應用程序,在該程序中首先構造一個學生基本類,再分別構造小學生、中學生、大學生等派生類,當輸入相關數據,單擊不同的按鈕(小學生、中學生、大學生)將分別創建不同的學生對象,並輸出當前學生總人數,該學生的姓名、學生類型和平均成績。 從鍵盤輸入若干個同學的成績,統計並輸出最高成績 最低成績 平均分,當輸入負數時結束輸入 【C語言】利用文本編輯軟件在磁盤上建立一個有n個學生的學號、姓名及英語、數學和計算機三門課程成績的數據文件。編寫程序將數據文件讀入,且求出每個學生的平均成績。 【JAVA】【作業向】第一題:本學期一班級有n名學生,m門課程。現要求對每門課程的成績進行統計:平均成績、最高成績、最低成績,並統計考試成績的分布律。 SQL 查詢:查詢學生平均成績 學生成績管理系統C(鏈表)語言 C語言學生成績管理系統
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM