![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2009c語言上機(jī)常見題型解析 |
試題3: 請編寫一個(gè)函數(shù)fun,它的功能是:計(jì)算n門課程的平均分,計(jì)算結(jié)果作為函數(shù)值 返回。 例如:若有5門課程的成績是:90.5,72,80,61,5,55,則函數(shù)的值為:71.80。 注意:部分源程序存在文件prog.c中。 請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容僅在函數(shù)fun的花括號中填入你編寫的若干語句。 /******本答案只作參考。******/ #include <stdio.h> float fun ( float *a , int n ) { int i; float average; double sum=0; for(i=0;i<n;i++) sum+=a[i]; average=(float)sum/n; return average; } void NONO ( ) {/* 本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。 */ FILE *fp, *wf ; int i, j ; float aver, score[5] ; fp = fopen("bc01.in","r") ; if(fp == NULL) { printf("數(shù)據(jù)文件bc01.in不存在!") ; return ; } wf = fopen("bc01.out","w") ; for(i = 0 ; i < 10 ; i++) { for(j = 0 ; j < 5 ; j++) fscanf(fp,"%f,",&score[j]) ; aver = fun(score, 5) ; fprintf(wf, "% } fclose(fp) ; fclose(wf) ; } main() { float score[30]={90.5, 72, 80, 61.5, 55}, aver; aver = fun( score, 5 ); printf( "\nAverage score is: % NONO ( ); }
|