例32:有一個班,3個學生,各學習4門課,C語言程式設計實現計算總平均分數以及第n個學生的成績,要求使用指標。
解題思路:今天這道例題分為3部分,下述求的是第3個學生,讀者請思考怎麼改為求第n個學生。
第一步:求平均分函式:
void average(float *p,int n)//自定義求平均成績函式 { float *p_end;//定義浮點型別指標變數 float sum=0,aver;//定義浮點型變數 p_end=p+n-1;//把地址賦給指標變數 for(;p<=p_end;p++)//for迴圈,注意第一處分號 { sum=sum+(*p);//總和 } aver=sum/n;//平均分 printf(“平均數是:%f”,aver);//輸出平均分 printf(“\n”);//換行 }
第二步:求第n個學生成績函式
void search_Grade(float (*p)[4],int n)//自定義求第n個學生成績函式 { int i;//定義變數 printf(“第%d個學生的成績是:”,n+1);//輸出,注意此處我寫的是n+1,陣列下標是從0開始的 for(i=0;i<4;i++)//for迴圈 { printf(“%5。2f ”,*(*(p+n)+i)); }}
原始碼演示:
#include
編譯執行結果如下:
平均數是:6。500000第3個學生的成績是: 9。00 10。00 11。00 12。00————————————————Process exited after 0。07228 seconds with return value 0請按任意鍵繼續。 。 。