第 1 頁:填空題 |
第 2 頁:改錯題 |
第 3 頁:程序題 |
注意: 部分源程序存在文件PROG1.C中。
請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入
你編寫的若干語句。
給定源程序:
#include
#include
#define N 10
typedef struct ss
{char num[10]; int s;} STU;
fun(STU a[], STU *s)
{
}
main ()
{STU a[N]={ {"A01",81},{"A02",89},{"A03", 66},{"A04",87},{"A05",77},{"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71} }, m ;
int i;
printf("***** The original data *****\n");
for (i=0; i< N; i++)printf("No = %s Mark = %d\n", a[i].num,a[i].s);
fun (a, &m);
printf ("***** THE RESULT *****\n");
printf ("The top : %s , %d\n",m.num, m.s);
NONO();
}
NONO()
{/* 本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關閉文件。 */
FILE *rf, *wf ;
STU a[N], m ;
int i ;
rf = fopen("in.dat","r");
wf = fopen("out.dat","w");
for(i = 0 ; i < 10; i++) fscanf(rf, "%s %d", a[i].num, &a[i].s);
fun(a, &m);
fprintf (wf, "The top : %s, %d\n", m.num, m.s);
fclose(rf);
fclose(wf);
}
參考答案:
fun( STU a[], STU *s )
{
int i, max = a[0].s, j = 0;
for(i = 1 ; i < N ; i++)
if(max < a[i].s) {
j = i ;
max = a[i].s ;
}
*s = a[j] ;
}
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |