宏为世纪教育 www greatc4月上机考试题库编程题 函数fun的花括号中填入你编写的若干语句。 #include <stdio h> printf("The data after sorted n"); void fun(int (s)[10], int * b, int *n, int mm, int nn) for(i=0;i<N;计++) i if(()%4==0 )printf("n); printf("%s %4d "s[- num, s( s); maino out= fopen("c: Itestllout dat,"w"); i int w[10J[10]=1(33, 33, 3 for(i=0,<N;计++) 4444,44,44},{55555553} i if(()%4==0 & i)fprintf(out, "n); nta00j={0},n=0; fprintf(out, %4d "s0s); printf("The matrix: n"); for(i=0,i<3;计+) fprintf(out, "n"); f for0=0; j<4: j++) printf("%3d", wQ: fclose(out); printf("w") fun(w,a,&n,3,4) 17、程序定义了NxN的二维数组,并在主函数中赋值。请 printf("The A array: n") 编写函数fun,函数的功能是:求出数组周边元素的平均值并 for(i=0; i<n; 1+) printi("%3d", a]) printf("lnn); 作为函数值返给主函数中的s NONO 例如:a数组中的值为 NONOO {/*请在此函数内打开文件,输入测试数据,调用fun函 p3831 数,输出数据,关闭文件。 H5682 FILE*rf, *wf; int i,j, k int w[10J[10, a[100, n=0, mm, nn 则返回主程序后s的值应为:3.375 f= fopen("c: test\lin. dat","r") 注意:部分源程序存在文件PROG1C文件中 wf=fopen("c: Itestlout. dat,"w"); 清勿改动主函数main和其它函数中的任何内容,仅在 for(k=0;k<5;k++){ 函数fiun的花括号中填入你编写的若干语句 iscanf(rf, %d %d", &mm, for(i=0: i<mm; 1++) #include <stdlib. h> for(j=0; j<nn; j++)fsc %d",&wU]) #define n 5 fun(w, a, &n, mm, nn) double fun( int WIIND) for(i=0; i<n; 1++) fprintf(wf, %3d", a0); fprintf(w 16、学生的记录由学号和成绩组成,N名学生的数据己在主manO) 函数中放入结构体数组s中,请编写函数fun,它的功能是 按分数的高低排列学生的记录,高分在前 aNN]={0,1,2,79,1,9,7,4.5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1} 注意:部分源程序在文件 PROGLO文件中 请勿改动主函数man和其它函数中的任何内容,仅在 数fun的花括号中填入你编写的若干语句 printf("***** The array *****n"); #include <stdio. h> for(i=0,iN,计++) #define N 16 i for(j=0; j<N; j++) typedef struct i printf("%4d",a0):i i char num[ 101: intf("n"), 1 STREC s=fun(a) int fun( STEc aD) rinf( THE RESULT*+ ***n rinf("The sum is: %lf\"s) NOO: {/*本函数用于打开文件,输入数据,调用函数,输出数据, STREC S[N}={{"GA00s"85},{"GA003",76} FILE 'rf. wf "GA002",69},{"GA004",85},{"GA001",91}, int i,j, a55]: double s rf= fopen("c: testin. dat,r") "GAo15",85},{"GA013",91},{"GA012",64} wf=fopen("c: \test\out. dat", "w") "GA014",91},{"GA011",66},{"GA017",64},for(i=0;1<5;计+) "GA018",64},{"GA016",72} for(=0;j<5: j++) fscanf(rf, %d",&ano;
宏为世纪教育 www.greatc.cn 4 月上机考试题库 编程题 6 函数 fun 的花括号中填入你编写的若干语句。 #include <stdio.h> void fun(int (*s)[10], int *b, int *n, int mm, int nn) { } main() { int w[10][10] = {{33,33,33,33}, {44,44,44,44},{55,55,55,55}},i,j ; int a[100] = {0}, n = 0 ; printf("The matrix:\n") ; for(i = 0 ; i < 3 ; i++) { for(j = 0 ; j < 4 ; j++) printf("%3d",w[i][j]) ; printf("\n") ; } fun(w, a, &n, 3, 4) ; printf("The A array:\n") ; for(i = 0 ; i < n ; i++) printf("%3d",a[i]);printf("\n\n") ; NONO() ; } NONO() {/* 请在此函数内打开文件,输入测试数据,调用 fun 函 数,输出数据,关闭文件。*/ FILE *rf, *wf ; int i, j, k ; int w[10][10], a[100], n = 0, mm, nn ; rf = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; for(k = 0 ; k < 5 ; k++) { fscanf(rf, "%d %d", &mm, &nn) ; for(i = 0 ; i < mm ; i++) for(j = 0 ; j < nn ; j++) fscanf(rf, "%d", &w[i][j]) ; fun(w, a, &n, mm, nn) ; for(i = 0 ; i < n ; i++) fprintf(wf, "%3d", a[i]) ; fprintf(wf, "\n") ; } fclose(rf) ; fclose(wf) ; } 16、学生的记录由学号和成绩组成,N 名学生的数据已在主 函数中放入结构体数组 s 中,请编写函数 fun,它的功能是: 按分数的高低排列学生的记录,高分在前。 注意: 部分源程序在文件 PROG1.C 文件中。 请勿改动主函数 main 和其它函数中的任何内容,仅在 函数 fun 的花括号中填入你编写的若干语句。 #include <stdio.h> #define N 16 typedef struct { char num[10]; int s; } STREC; int fun( STREC a[] ) { } main() { STREC s[N]={{"GA005",85},{"GA003",76}, {"GA002",69},{"GA004",85},{"GA001",91}, {"GA007",72},{"GA008",64},{"GA006",87}, {"GA015",85},{"GA013",91},{"GA012",64}, {"GA014",91},{"GA011",66},{"GA017",64}, {"GA018",64},{"GA016",72}}; int i;FILE *out ; fun( s ); printf("The data after sorted :\n"); for(i=0;i<N; i++) { if( (i)%4==0 )printf("\n"); printf("%s %4d ",s[i].num,s[i].s); } printf("\n"); out = fopen("c:\\test\\out.dat","w") ; for(i=0;i<N; i++) { if( (i)%4==0 && i) fprintf(out, "\n"); fprintf(out, "%4d ",s[i].s); } fprintf(out,"\n"); fclose(out) ; } 17、程序定义了 N×N 的二维数组,并在主函数中赋值。请 编写函数 fun,函数的功能是:求出数组周边元素的平均值并 作为函数值返给主函数中的 s。 例如:a 数组中的值为 |0 1 2 7 9| |1 9 7 4 5| a = |2 3 8 3 1| |4 5 6 8 2| |5 9 1 4 1| 则返回主程序后 s 的值应为: 3.375。 注意: 部分源程序存在文件 PROG1.C 文件中。 请勿改动主函数 main 和其它函数中的任何内容,仅在 函数 fun 的花括号中填入你编写的若干语句。 #include <stdio.h> #include <stdlib.h> #define N 5 double fun ( int w[][N] ) { } main ( ) { int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1}; int i, j; double s ; printf("***** The array *****\n"); for ( i =0; i<N; i++ ) { for ( j =0; j<N; j++ ) { printf( "%4d", a[i][j] ); } printf("\n"); } s = fun ( a ); printf ("***** THE RESULT *****\n"); printf( "The sum is : %lf\n",s ); NONO( ); } NONO( ) {/* 本函数用于打开文件,输入数据,调用函数,输出数据, 关闭文件。 */ FILE *rf, *wf ; int i, j, a[5][5]; double s ; rf = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i < 5 ; i++) for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d ", &a[i][j]) ; s = fun(a) ;
www.greatc.cn4月上机考试题库编程题 rinf("The string after deleted: \n") puts(s); O0; 18、请编写函数fun,其功能是求出数组的最大元素在数组 中的下标并存放在k所指的存储单元中 关友数用打开文件,轴输入数据,调用函数,输出数据 例如,输入如下整数:876675896101301401980431 FILE *in. *out 则输出结果为:6,980 in= fopen("c: \\lin. dat", "r") 注意:部分源程序在文件PROG1C文件中 out= fopen("c: \testour. dat","w") 请勿改动主函数main和其它函数中的任何内容,仅在 for(=0,1<10,计+){ 函数fun的花括号中填入你编写的若干语句。 fscanf(in, "%s"s) #include <stdio h> fun(s) int fun(int*s, int t, int *k fprintf(out, 编写函数fun,函数的功能是求出小于或等于lim的所 有素数并放在a数组中,函数返回所求出的素数的个数。 注意:部分源程序在文件PROG1C中 a[10F={876,675,896,101,301,401,980431,451,77 请勿改动主函数main和其它函数中的任何内容,仅在 k 函数fun的花括号中填入你编写的若干语句 n(a,10,&k); printf("%d, %dn"k, a(]) #define mAX 100 NONOO int fun( int lim, int aa MAXD) NONO 以下代码仅供参考* {/*本函数用于打开文件,输入测试数据,调用fun函数, int ij, k=0; 输出数据,关闭文件。 /其中变量k用于统计素数个数*/ int a[10],i,k, for(F2: I<=lim: i++) f= fopen("c: Testin. dat", "r") /以下完成判断a数组中小于或等于lim的素数并统 计个数 forG=0; j< 10; j++)fscanf(rf, "%d", &aD); fun(a, 10, &k) fprintf(wf, "%d, %dn",k, a[(k); 19、假定输入的字符串中只包含字母和*号。请编写函数fun, 它的功能是:将字符串尾部的*号全部删除,前面和中间的* int limit, i, sum; 号不删除。 int aa[MAXI 例如,字符串中的内容为:幸幸A*BC*DEFG*春* printf("输入一个整数") 删除后,字符串中的内容应当是:*幸A*BC·DEFG。在编 写函数时,不得使用C语言提供的字符串函数 sum=fun(limit, aa 注意:部分源程序在文件 PROGLC文件中 请勿改动主函数main和其它函数中的任何内容,仅在 if(i%10==0&& il=0) printf("\n") 函数fun的花括号中填入你编写的若干语句 printf("%5d", aa[); <stdio. h> #include <string h> void *请在此函数内打开文件,输入测试数据,调用fun函数, 输出数据,关闭文件。 i char s[81]; FILE ' rf *wf
宏为世纪教育 www.greatc.cn 4 月上机考试题库 编程题 7 fprintf(wf, "%lf\n", s); fclose(rf) ; fclose(wf) ; } 18、请编写函数 fun,其功能是求出数组的最大元素在数组 中的下标并存放在 k 所指的存储单元中。 例如, 输入如下整数: 876 675 896 101 301 401 980 431 451 777 则输出结果为: 6, 980 注意: 部分源程序在文件 PROG1.C 文件中。 请勿改动主函数 main 和其它函数中的任何内容,仅在 函数 fun 的花括号中填入你编写的若干语句。 #include <stdio.h> int fun(int *s, int t, int *k) { } main( ) { int a[10]={876,675,896,101,301,401,980,431,451,777}, k ; fun(a, 10, &k) ; printf("%d, %d\n", k, a[k]) ; NONO( ) ; } NONO ( ) {/* 本函数用于打开文件,输入测试数据,调用 fun 函数, 输出数据,关闭文件。*/ int a[10], i, k, j ; FILE *rf, *wf ; rf = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i < 10 ; i++) { for(j = 0 ; j < 10 ; j++) fscanf(rf, "%d", &a[j]) ; fun(a, 10, &k) ; fprintf(wf, "%d,%d\n", k, a[k]) ; } fclose(rf) ; fclose(wf) ; } 19、假定输入的字符串中只包含字母和*号。请编写函数 fun, 它的功能是:将字符串尾部的*号全部删除,前面和中间的* 号不删除。 例如,字符串中的内容为:****A*BC*DEF*G*******, 删除后,字符串中的内容应当是:****A*BC*DEF*G。在编 写函数时,不得使用 C 语言提供的字符串函数。 注意: 部分源程序在文件 PROG1.C 文件中。 请勿改动主函数 main 和其它函数中的任何内容,仅在 函数 fun 的花括号中填入你编写的若干语句。 #include <stdio.h> #include <string.h> void fun( char *a ) { } main() { char s[81]; printf("Enter a string:\n");gets(s); fun( s ); printf("The string after deleted:\n");puts(s); NONO(); } NONO() {/* 本函数用于打开文件,输入数据,调用函数,输出数据, 关闭文件。 */ FILE *in, *out ; int i ; char s[81] ; in = fopen("c:\\test\\in.dat","r") ; out = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i < 10 ; i++) { fscanf(in, "%s", s) ; fun(s) ; fprintf(out, "%s\n", s) ; } fclose(in) ; fclose(out) ; } 20、编写函数 fun, 函数的功能是求出小于或等于 lim 的所 有素数并放在 aa 数组中,函数返回所求出的素数的个数。 注意:部分源程序在文件 PROG1.C 中。 请勿改动主函数 main 和其它函数中的任何内容,仅在 函数 fun 的花括号中填入你编写的若干语句。 #include <stdio.h> #define MAX 100 int fun(int lim, int aa[MAX]) { /* 以下代码仅供参考 */ int i,j,k=0; /* 其中变量 k 用于统计素数个数 */ for(i=2;i<=lim;i++) { /* 以下完成判断 aa 数组中小于或等于 lim 的素数并统 计个数 */ } return k; } main() { int limit, i, sum; int aa[MAX] ; printf("输入一个整数"); scanf("%d", &limit); sum=fun(limit, aa); for(i=0 ; i < sum ; i++) { if(i % 10 == 0 && i != 0) printf("\n") ; printf("%5d", aa[i]) ; } NONO(); } NONO() { /* 请在此函数内打开文件,输入测试数据,调用 fun 函数, 输出数据,关闭文件。 */ FILE *rf, *wf ; int limit, i, sum, aa[MAX] ;