C語言實現(xiàn)輸出平均成績最高學生的信息
列:
有n個結構體變量,內(nèi)含學生的學號,學號,和三門成績。要求輸出平均成績最高學生的信息(包括學號、姓名、三門課程成績和平均成績)
解題思路:
將n個學生的數(shù)據(jù)表示為結構體數(shù)組(有n個元素)。按照功能函數(shù)化的思想,小林分別用3個函數(shù)來實現(xiàn)不同的功能。
源代碼演示:
#include<stdio.h>//頭文件 #define N 3//宏定義 struct student //學生類結構體 { int num; //學號 char name[20];//姓名 float score[3];//成績 float aver;//平均分 } ; int main() //主函數(shù) { void input(struct student s[]);//函數(shù)聲明 struct student max(struct student s[]);//函數(shù)聲明 void print(struct student s);//函數(shù)聲明 struct student s[N],*p=s;//定義結構體變量 input (p);//調用函數(shù) print(max(p));//打印調用max函數(shù)結果 return 0;//主函數(shù)返回值為0 } void input(struct student s[])//自定義輸入函數(shù) { int i;//定義整型變量 printf("請輸入各學生的信息:學號、姓名、三門課成績:\n");//提示語句 for(i=0;i<N;i++)//循環(huán)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++)//循環(huán)N次 { if(s[i].aver>s[m].aver)//把平均分大的i賦值給m { m=i; } } return s[m];//將s[m]結果返回到函數(shù)調用處 } void print (struct student stud)//自定義打印函數(shù) { 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
請按任意鍵繼續(xù). . .
到此這篇關于C語言實現(xiàn)輸出平均成績最高學生的信息的文章就介紹到這了,更多相關C語言輸出平均成績最高學生的信息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
基于matlab對比度和結構提取的多模態(tài)解剖圖像融合實現(xiàn)
這篇文章主要介紹了多模態(tài)醫(yī)學圖像配準與融合的概念、方法及意義,最后簡單介紹了小波變換分析方法。感興趣的小伙伴可以跟隨小編一起學習一下2021-11-11