1、国家二级 C 语言机试(操作题)模拟试卷 345(无答案)一、程序填空题1 函数 fun 的功能是:把形参 a 所指数组中的最大值放在 a0中,接着求出 a 所指数组中的最小值放在 a1中;再把 a 所指数组元素中的次大值放在 a2中,把 a 数组元素中的次小值放在 a3中;其余以此类推。例如:若 a 所指数组中的数据最初排列为:1、4、2、3、9、6、5、8、7,则按规则移动后,数据排列为:9、l、8、2、7、3、6、4、5。形参 n 中存放 a 所指数组中数据的个数。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1C 中。
2、不得增行或删行,也不得更改程序的结构!#include #define N 9void fun (int _1_ f int n) int i,j,max,min ,px ,pnc t;for (i=0; i aj) min aj; pn = j;if (px != i) t=a i ; a i =max; a px=t ;if (pn= i) pn=px;if (pn != i+1) t=a i+1 ; a i+1 min; a pn=t; main () int bN=1,4,2c 3,9,6,5,8,7, 1;printf ( “nThe original data:n“) ;for (
3、i=0; i#define SIZE 20fun (double *s, double *w) int k,i; double sum ;for ( k=2,i=0 ;i#define N 8typedef struct char num 10 ;double s; STREC;double fun (STREC *a,STREC *b,int *n)main ()STREC s Nl= “GA05“,85, “GA03“,76, “GA02“,69, “GA04“,85 , “GA01“,91 ,STREC hN,t;FILE *out ;int i,j,n; double ave;ave=fun (s,h,&n) ;printf(“The d student data whichis lower than 73f:n“ ,n,ave) ;printf ( “ s 4 1fn“,h i numprintf (“n“) ;out = fopen (“outdat“,“w“) ;fprintf ( out, “ oo d n 00 7 3fn“ ,n,ave ) ;for (i=0; ih jl s)fprintf (out,“ 0041fn“,h i s) ;fclose (out) ;