www.greatc.cn4月上机考试题库编程题 编程题 请勿改动主函数main和其它函数中的任何内容,仅在 考试做题要求 函数fun的花括号中填入你编写的若干语句 1、按题目要求编写部分代码,不要改动已经有的代码。# include 2、在运行时如果遇到死循环,按CuH+ Break键结束运# define N16 3、题目做完后必须要有运行结果,没有运行结果没有{ char num0] 1、请编写函数fun,函数的功能是:移动字符串中的内容移} STREC 例如字符串中原有的内容为 ABCDEFGHUK, m的值um( STREC a,STREC *b,int,imth) 动的规则如下:把第1到第m个字符,平移到字符串的最后, 把第m+1到最后的字符移到字符串的前部。 为3,则移动后,字符串中的内容应该是: DEFGHUKABC。 注意:部分源程序在文件PROG1C中 请勿改动主函数man和其它函数中的任何内容,仅在 数fun的花括号中填入你编写的若干语句 #include STREC SINI={"GA005",85},{"GA003”,76} #include "GA002",69},{"GA004",85},{"GA001",96}, #definen 80 "GA007",72},{"GA008"64},{"GA006"87}, void fun( char *w)本函数的功能是将字符串中字符循 "GA0l5",85},{"GA013",94},{"GA012",64}, 环左移一个位置* "GA014",91},{"GAo",90},"GA0I7",64} GA018",64},{"GA016",72}}; int i: char t STREC hIN, tt FILE out tw0: int i,j, n, low, heigh, t, for(F0 Ih0.)(tth hoho; hn=tt print n:"); scanf("%d", &m) for(i=0; #include fprintf(wf, "%s'n", a typedef struct fclose(rf); fclose( wf) i char num[10] int S;)STU; un(sTUa,STU·s) 2、学生的记录由学号和成绩组成,N名学生的数据已在主 函数中放入结构体数组s中,请编写函数fun,它的功能是 把指定分数范围内的学生数据放在b所指的数组中,分数范 围内的学生人数由函数值返回。 例如,输入的分数是6069,则应当把分数在60到main() 69的学生数据进行输出,包含60分和69分的学生数据 STU aN]{{"A01",81},{"A02",89},{"A03",66} 主函数中将把60放在low中,把69放在hegh中 "A04",87},{"A05",77},("A06",90}, 注意:部分源程序在文件PROG1C文件中。 "AO7",79},{"A08"61},{"A09",80}
宏为世纪教育 www.greatc.cn 4 月上机考试题库 编程题 1 编程题 考试做题要求: 1、按题目要求编写部分代码,不要改动已经有的代码。 2、在运行时如果遇到死循环,按 Ctrl+Break 键结束运 行。 3、题目做完后必须要有运行结果,没有运行结果没有 分。 1、请编写函数 fun,函数的功能是: 移动字符串中的内容,移 动的规则如下: 把第 1到第 m个字符, 平移到字符串的最后, 把第 m+1 到最后的字符移到字符串的前部。 例如, 字符串中原有的内容为: ABCDEFGHIJK, m 的值 为 3, 则移动后, 字符串中的内容应该是: DEFGHIJKABC。 注意:部分源程序在文件 PROG1.C 中。 请勿改动主函数 main 和其它函数中的任何内容, 仅在 函数 fun 的花括号中填入你编写的若干语句。 #include #include #define N 80 void fun1(char *w) /* 本函数的功能是将字符串中字符循 环左移一个位置 */ { int i; char t; t=w[0]; for(i=0;i #define N 16 typedef struct { char num[10]; int s; } STREC; int fun( STREC *a,STREC *b,int l, int h ) { } main() { STREC s[N]={{"GA005",85},{"GA003",76}, {"GA002",69},{"GA004",85},{"GA001",96}, {"GA007",72},{"GA008",64},{"GA006",87}, {"GA015",85},{"GA013",94},{"GA012",64}, {"GA014",91},{"GA011",90},{"GA017",64}, {"GA018",64},{"GA016",72}}; STREC h[N],tt;FILE *out ; int i,j,n,low,heigh,t; printf("Enter 2 integer number low & heigh : "); scanf("%d%d", &low,&heigh); if ( heighh[j].s) {tt=h[i] ;h[i]=h[j]; h[j]=tt;} for(i=0;i #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}
eatc.cn4月上机考试题库编程 printf("***** The original data *****In); fun(tt) for( F0, K for(i=0: 1 /*请在此函数内打开文件,输入测试数据,调用fun函 void fun( char*ss) 输出数据,关闭文件。制 FILE rf "wf rf= fopen("c: ltest\ln. dat", r") wf=fopen("c: Itest\out. dat", " w") void main( void fscanf(rf, "%f, &a) fprintf(wf, %fn", fun(a)) har tt51] printf( "nPlease enter an character string within 50 haracters:\n": fclose( wf) gets( tt ) printf("InInAfter changing, the stringin 1"%sl", tt ) un(tt) 6、请编写一个函数fun,它的功能是:根据以下公式求π printf("nbecomesin %s",tt ) 的值(要求满足精度0.0005,即某项小于00005时停止迭代) NONOO l1×21×2×31×2×3×4 l×2×.×n NONOO 33×53×5×73×5×7×93×5×x(2n+1) 程序运行后,如果输入精度0.0005,则程序输出为 ∧*请在此函数内打开文件,输入测试数据,调用fun函数,3.14.. 输出数据,关闭文件。 注意:部分源程序存在文件 PROGI. C文件中 nar tt[51, ch: 清勿改动主函数main和其它函数中的任何内容,仅在 FILE rf *wf 函数fun的花括号中填入你编写的若干语句 #include rf=fopen("c: test\lin. dat"," r") #include open("c: testllout dat","w") double double eps while(i< 10)1 fgets( tt, 50, rf ); len =strlen(tt)-1
宏为世纪教育 www.greatc.cn 4 月上机考试题库 编程题 2 {"A10",71} }, m ; int i; printf("***** The original data *****\n"); for ( i=0; i #include void fun( char *ss ) { } void main( void ) { char tt[51]; printf( "\nPlease enter an character string within 50 characters:\n" ); gets( tt ); printf( "\n\nAfter changing, the string\n \"%s\"", tt ); fun(tt) ; printf( "\nbecomes\n \"%s\"", tt ); NONO(); } NONO() { /* 请在此函数内打开文件,输入测试数据,调用 fun 函数, 输出数据,关闭文件。 */ char tt[51], ch; FILE *rf, *wf ; int len, i=0 ; rf = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; while(i float fun ( float h ) { } main( ) { float a; printf ("Enter a: "); scanf ( "%f", &a ); printf ( "The original data is : " ); printf ( "%f \n\n", a ); printf ( "The result : %f\n", fun ( a ) ); NONO( ); } NONO( ) {/* 请在此函数内打开文件,输入测试数据,调用 fun 函 数, 输出数据,关闭文件。 */ int i ; float a ; FILE *rf, *wf ; rf = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i #include double fun ( double eps) {
eatc.cn4月上机考试题库编程 main() 8、假定输入的字符串中只包含字母和*号。请编写函数fun i double x; 它的功能是除了字符串前导的*号之外将串中其它*号全部 rinf("Input eps: " 删除。在编写函数时,不得使用C语言提供的字符串函数 canf("%lf", &x); printf("neps =%f, Pl=%lfn,X, fun(x)); 例如,字符串中的内容为:***ABC*DEFG事*, NONOO 删除后,字符串中的内容应当是:·* ABCDEFG。 注意:部分源程序在文件PROG1C文件中 NONOO 清勿改动主函数main和其它函数中的任何内容,仅在 陳*本函数用于打开文件,输入数据,调用函数,输出数据,函数fun的花括号中填入你编写的若干语句 关闭文件。 #include /*本函数用于打开文件,输入数据,调用函数,输出数据 #include 关闭文件 int fun( int score[, int m, int below D FILE *in,°out int i; char s81] in= fopen("c: testllin dat","r"), ut=fopen("c: testour. dat",w") for(=0;1 for(=0; j<10; j++)fscanf(rf, "%d", &score D void fun( char a) n= fun(score, 10, below) for(j=0; j<n; j++)fprintf(wf, "%d", belowID 以下代码仅供参考* narp, "q int n=o fclose(rf) fclose( wf) Whle(·p==*)/统计串头个数n*
宏为世纪教育 www.greatc.cn 4 月上机考试题库 编程题 3 } main( ) { double x; printf("Input eps:") ; scanf("%lf",&x); printf("\neps = %lf, PI=%lf\n", x, fun(x)); NONO(); } NONO ( ) {/* 本函数用于打开文件,输入数据,调用函数,输出数据, 关闭文件。 */ FILE *fp, *wf ; int i ; double x ; fp = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i #include int fun(int score[], int m, int below[]) { } main( ) { int i, n, below[9] ; int score[9] = {10, 20, 30, 40, 50, 60, 70, 80, 90} ; n = fun(score, 9, below) ; printf( "\nBelow the average score are: " ) ; for (i = 0 ; i void fun( char *a ) { /* 以下代码仅供参考 */ int i=0,k; while(a[i]=='*') i++; k=i+1; while(a[i]!='\0') /* 以下程序段实现非*字符前移 */ { } a[i+1]='\0'; } 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 void fun( char *a ) { /* 以下代码仅供参考 */ char *p,*q; int n=0; p=a; while(*p=='*') /* 统计串头'*'个数 n */
宏为世纪教育 www greatc4月上机考试题库编程 {n++;p+;} printf( "Enter a string: \n") gets(s); g-a, *向前复制字符串,请填写相应的语句完成其功能 fun( s, n) printf("The string after deleted: \ n"),puts(); NONOO for(n>0,n-)/°在串尾补n个解 NONG {*本函数用于打开文件,输入数据,调用函数,输出数据 关闭文件。 FILE·in,out i char s[81],"p: int n=0 out=fopen("c: Testour. dat","w") printf("Enter a string: n") gets(); for(i=0,1 void fun( int x, int ppI, int "n) 10、假定输入的字符串中只包含字母和*号。请编写函数 它的功能是:使字符串的前导*号不得多于n个若多于 删除多余的*号;若少于或等于n个,则什么也不做, 串中间和尾部的*号不删除 例如,字符串中的内容为:**A·BC*DEFG**,} 若n的值为4,删除后,字符串中的内容应当是 () *ABC*DEF啼G**;若n的值为8,则字符串中的内容{intx,a[000l,n,i; 仍为:*率春事*A*BC*DEF*G*。n的值在主函数中输入。 printf("nPlease enter an integer number: n"); scanf("%d 在编写函数时,不得使用C语言提供的字符串函数 &x) 注意:部分源程序在文件PROG1C文件中。 fun(x, aa, &n 请勿改动主函数main和其它函数中的任何内容,仅在 +) 函数fun的花括号中填入你编写的若干语句 printf("%d", aa) #include printf("n") oid fun( char *a, int n NONOO 以下代码仅供参考* NONOO int F0,j, k=0 {*本函数用于打开文件,输入测试数据,调用fun函数, while(ak]==*)k++;/k为统计*字符个数* 输出数据,关闭文件。 if(k>n) int x, aa[1000],n, 1, j FILE*f fp= fopen("c: \testlout dat","w") 以下完成将下标为k至串尾的字符前移kn个位置 for=0;j<10;++){ for(i=0; i<n; i++)fprintf(fp, "%d", aa); fprintf(fp, n); fclose(fp) maino i char s[81: int n: 12、函数fun的功能是:将s所指字符串中下标为偶数同时
宏为世纪教育 www.greatc.cn 4 月上机考试题库 编程题 4 {n++; p++;} q=a; /* 向前复制字符串,请填写相应的语句完成其功能 */ for(;n>0;n--) /* 在串尾补 n 个'*' */ *q++='*'; *q='\0'; } main() { char s[81],*p; int n=0; printf("Enter a string:\n");gets(s); fun( s ); printf("The string after moveing:\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 void fun( char *a, int n ) { /* 以下代码仅供参考 */ int i=0,j,k=0; while(a[k]=='*') k++; /* k 为统计*字符个数 */ if(k>n) { i=n;j=k; /* 以下完成将下标为 k 至串尾的字符前移 k-n 个位置 */ } } main() { char s[81]; int n; printf("Enter a string:\n");gets(s); printf("Enter n : ");scanf("%d",&n); fun( s,n ); printf("The string after deleted:\n");puts(s); NONO(); } NONO() {/* 本函数用于打开文件,输入数据,调用函数,输出数据, 关闭文件。 */ FILE *in, *out ; int i, n ; char s[81] ; in = fopen("c:\\test\\in.dat","r") ; out = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i void fun ( int x, int pp[], int *n ) { } main( ) { int x, aa[1000], n, i ; printf( "\nPlease enter an integer number:\n" ) ; scanf("%d", &x) ; fun(x, aa, &n ) ; for( i = 0 ; i < n ; i++ ) printf("%d ", aa[i]) ; printf("\n") ; NONO( ) ; } NONO ( ) {/* 本函数用于打开文件,输入测试数据,调用 fun 函数, 输出数据,关闭文件。*/ int x, aa[1000], n, i, j ; FILE *fp ; fp = fopen("c:\\test\\out.dat","w") ; for(j = 0 ; j < 10 ; j++) { x = 30 + j ; fun(x, aa, &n) ; for(i = 0 ; i < n ; i++) fprintf(fp, "%d ", aa[i]) ; fprintf(fp, "\n") ; } fclose(fp) ; } 12、函数 fun 的功能是:将 s 所指字符串中下标为偶数同时
宏为世纪教育www.greatc4月上机考试题库编程题 ASCI值为奇数的字符删除,s所指串中剩余的字符形成的NO 新串放在t所指的数组中。 例如,若s所指字符串中的内容为" ABCDEFG12345",NONO() 其中字符C的ASCI码值为奇数,在数组中的下标为偶数,{/*本函数用于打开文件,输入数据,调用函数,输出数据 因此必须删除:而字符1的ASCI码值为奇数,在数组中关闭文件 的下标也为奇数,因此不应当删除,其它依此类推。 FILE rf * wf 最后t所指的数组中的内容应是"BDF12345" 注意:部分源程序存在文件PROG1C中。 rf= fopen("c: Itest\in dat","r") 请勿改动主函数man和其它函数中的任何内容,仅在 wf= fopen("c: l\test\out. dat,"w") 函数fun的花括号中填入你编写的若干语句 for(i=0;i fscanf(rf, " %d, %d",&a,&b) #include fun(a, b, &c); void fun(char * s, char t) fprintf(wf, "a=%d, b=%d, c=%ld\n, a, b, c) fclose(rf) } maino 14、编写函数fun,它的功能是:求小于形参n同时能被 与7整除的所有自然数之和的平方根,并作为函数值返回 char s[100, t[100 例如若n为1000时,程序输出应为:s=153909064。 printf("nPlease enter string S: ) scanf("%s",S); 注意:部分源程序在文件PROG1C文件中。 fun(s, t); 请勿改动主函数main和其它函数中的任何内容,仅在 printf("In The result is: %sIn",t); 函数fun的花括号中填入你编写的若干语句 NONOO #include NONOO {/*本函数用于打开文件,输入数据,调用函数,输出数据,{ 关闭文件。 char s[100], t[100]; FILE *rf *w rf= fopen("c: Testin. dat","r maino/主函数* wf=fopen("c: testllout dat", w") for(=0;i void fun(int a, int b, long c) 15、请编写函数fun,函数的功能是:将M行N列的二维数 组中的数据,按行的顺序依次放到一维数组中,一维数组中 数据的个数存放在形参n所指的存储单元中 例如,二维数组中的数据为 33333333 44444444 printf("Input a, b: ) 一维数组中的内容应是 scanf("%d%d",&a, &b) 333333334444444455555555, fun(a, b, &c); 注意:部分源程序在文件PROG1C中 printf("The result is: %ld\n",c); 请勿改动主函数main和其它函数中的任何内容,仅在
宏为世纪教育 www.greatc.cn 4 月上机考试题库 编程题 5 ASCII 值为奇数的字符删除,s 所指串中剩余的字符形成的 新串放在 t 所指的数组中。 例如,若 s 所指字符串中的内容为"ABCDEFG12345", 其中字符 C 的 ASCII 码值为奇数,在数组中的下标为偶数, 因此必须删除;而字符 1 的 ASCII 码值为奇数,在数组中 的下标也为奇数,因此不应当删除,其它依此类推。 最后 t 所指的数组中的内容应是"BDF12345"。 注意: 部分源程序存在文件 PROG1.C 中。 请勿改动主函数 main 和其它函数中的任何内容,仅在 函数 fun 的花括号中填入你编写的若干语句。 #include #include void fun(char *s, char t[]) { } main() { char s[100], t[100]; printf("\nPlease enter string S:"); scanf("%s", s); fun(s, t); printf("\nThe result is: %s\n", t); NONO(); } NONO( ) {/* 本函数用于打开文件,输入数据,调用函数,输出数据, 关闭文件。 */ char s[100], t[100] ; FILE *rf, *wf ; int i ; rf = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i void fun(int a, int b, long *c) { } main() { int a,b; long c; printf("Input a, b:"); scanf("%d%d", &a, &b); fun(a, b, &c); printf("The result is: %ld\n", c); NONO(); } NONO ( ) {/* 本函数用于打开文件,输入数据,调用函数,输出数据, 关闭文件。 */ FILE *rf, *wf ; int i, a,b ; long c ; rf = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i #include double fun( int n) { } main() /* 主函数 */ { printf("s =%f\n", fun ( 1000) ); NONO(); } NONO ( ) {/* 本函数用于打开文件,输入数据,调用函数,输出数据, 关闭文件。 */ FILE *fp, *wf ; int i, n ; float s; fp = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i < 10 ; i++) { fscanf(fp, "%d", &n) ; s = fun(n) ; fprintf(wf, "%f\n", s) ; } fclose(fp) ; fclose(wf) ; } 15、请编写函数 fun, 函数的功能是: 将 M 行 N 列的二维数 组中的数据,按行的顺序依次放到一维数组中, 一维数组中 数据的个数存放在形参 n 所指的存储单元中。 例如, 二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 55 55 则一维数组中的内容应是: 33 33 33 33 44 44 44 44 55 55 55 55。 注意:部分源程序在文件 PROG1.C 中。 请勿改动主函数 main 和其它函数中的任何内容, 仅在
宏为世纪教育 www greatc4月上机考试题库编程题 函数fun的花括号中填入你编写的若干语句。 #include printf("The data after sorted n"); void fun(int (s)[10], int * b, int *n, int mm, int nn) for(i=0;i for(j=0; j 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 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 #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 #include #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 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 #include 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 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 #include 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 #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] ;
eatc.cn4月上机考试题库编程 函数fun的花括号中填入你编写的若干语句 f= fopen("c: lltest\un. dat", r") #include wf=fopen("c: testllout dat,"w); #include h=P(STREC*)malloc(sizeof( STREC))P->s=0 void fun(int m, int k, int xxD) while(is=s[,计++;p>next=q;p=q; int 1,Fl, tm+1; while(jnext=0, return h /以下完成判断素数,并存放到数组xx中 outlist( STREC h) i printf("->%2.0f, p->s): p=p->next int m, n, Zz 10001 main( double S[N]={85,76,69,85,91,72,64,87},max; printf("nPlease enter two integers: ) STREC·h; scanf("%d%d",&m,&n at s fun( m, n, zz) max=fun(h ) or(m=0;m<n;m++) printf("max=%6.1f\n",max); printf("%d",ZmD) NONOO NONOO NONOO {*本函数用于打开文件,输入数据,调用函数,输出数据, NONOO FILE in 本函数用于打开文件,输入测试数据,调用fun函数 输出数据,关闭文件。* STREC·h int m, n, zz[1000,i n("c: test\lin dat","r") FILE *rf *wf out=fopen("c: testllout dat", w") f= fopen("c: test\in dat","r) for(F0; j<N; j++)fscanf(in, " %f, &sD: wf=fopen("c: ltestlout dat", w) h=creat(s) <10;计+){ fun(h fscanf(rf, "%d %d", &m, &n) fprintf(out, %6.1If\n", max); for( m=0; m <n; m++)fprintf( wf, %d",zm) fclose(in) iclose(out) fclose(rf) 23、学生的记录由学号和成绩组成,N名学生的数据已在主 函数中放入结构体数组s中,请编写函数fun,它的功能是 2、N名学生的成绩已在主函数中放入一个带头节点的链表把高于等于平均分的学生数据放在b所指的数组中,高于等 结构中h指向链表的头节点。请编写函数fun,它的功能是:于平均分的学生人数通过形参n传回,平均分通过函数值返 找出学生的最高分,由函数值返回 注意:部分源程序在文件PROG1C文件中。 注意:部分源程序在文件PROG1C文件中 请勿改动主函数main和其它函数中的任何内容,仅在 请勿改动主函数main和其它函数中的任何内容,仅在
宏为世纪教育 www.greatc.cn 4 月上机考试题库 编程题 8 rf = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; fscanf(rf, "%d", &limit); sum=fun(limit, aa); for(i=0 ; i void fun(int m, int k, int xx[]) { /* 以下代码仅供参考 */ int i, j=1, t=m+1; while(j #include #define N 8 struct slist { double s; struct slist *next; }; typedef struct slist STREC; double fun( STREC *h ) { } STREC * creat( double *s) { STREC *h,*p,*q; int i=0; h=p=(STREC*)malloc(sizeof(STREC));p->s=0; while(is=s[i]; i++; p->next=q; p=q; } p->next=0; return h; } outlist( STREC *h) { STREC *p; p=h->next; printf("head"); do { printf("->%2.0f",p->s);p=p->next;} while(p!=0); printf("\n\n"); } main() { double s[N]={85,76,69,85,91,72,64,87}, max; STREC *h; h=creat( s ); outlist(h); max=fun( h ); printf("max=%6.1f\n",max); NONO(); } NONO() {/* 本函数用于打开文件,输入数据,调用函数,输出数据, 关闭文件。 */ FILE *in, *out ; int i,j ; double s[N],max; STREC *h ; in = fopen("c:\\test\\in.dat","r") ; out = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i < 10 ; i++) { for(j=0 ; j < N; j++) fscanf(in, "%lf,", &s[j]) ; h=creat( s ); max=fun( h ); fprintf(out, "%6.1lf\n", max) ; } fclose(in) ; fclose(out) ; } 23、学生的记录由学号和成绩组成,N 名学生的数据已在主 函数中放入结构体数组 s 中, 请编写函数 fun,它的功能是: 把高于等于平均分的学生数据放在 b 所指的数组中,高于等 于平均分的学生人数通过形参 n 传回,平均分通过函数值返 回。 注意: 部分源程序在文件 PROG1.C 文件中。 请勿改动主函数 main 和其它函数中的任何内容,仅在
宏为世纪教育www.greatc4月上机考试题库编程题 函数fun的花括号中填入你编写的若干语句。 for(=0,i i for(j=0 j 3579 #include maino #define M 4 #define n 5 har s[100, t] int fun( int aMIND) printf("nPlease enter string S: ) scanf("%s", s) printf("nThe result is: %s\n",t); NONOO NONO( nain() {*本函数用于打开文件,输入数据,调用函数,输出数据 int aa(M]N}={{1,3,5,7,9}, 关闭文件。 6,9,9,9,8} FILE·rf,wwf {1,3,5,7,0}; Int I rf= fopen("c: Itest\lin. dat","r") clrscrO wf=fopen("c: l\test\out. dat,"w") printf("The original data is: n"); for(i=0;i<10;计+)
宏为世纪教育 www.greatc.cn 4 月上机考试题库 编程题 9 函数 fun 的花括号中填入你编写的若干语句。 #include #define N 12 typedef struct { char num[10]; double s; } STREC; double fun( STREC *a, STREC *b, int *n ) { } main() { STREC s[N]={{"GA05",85},{"GA03",76}, {"GA02",69},{"GA04",85},{"GA01",91}, {"GA07",72},{"GA08",64},{"GA06",87}, {"GA09",60},{"GA11",79},{"GA12",73}, {"GA10",90}}; STREC h[N], t;FILE *out ; int i,j,n; double ave; ave=fun( s,h,&n ); printf("The %d student data which is higher than %7.3f:\n",n,ave); for(i=0;i #define M 4 #define N 5 int fun ( int a[M][N] ) { } main( ) { int aa[M][N]={{1,3,5,7,9}, {2,9,9,9,4}, {6,9,9,9,8}, {1,3,5,7,0}}; int i, j, y; clrscr(); printf ( "The original data is : \n" ); for ( i=0; i #include void fun(char *s, char t[]) { } main() { char s[100], t[100]; printf("\nPlease enter string S:"); scanf("%s", s); fun(s, t); printf("\nThe result is: %s\n", t); NONO(); } NONO ( ) {/* 本函数用于打开文件,输入数据,调用函数,输出数据, 关闭文件。 */ char s[100], t[100] ; FILE *rf, *wf ; int i ; rf = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i < 10 ; i++) {
eatc . cn4月上机考试题库编程 fprintf( wf, "%sn", t) fun(ss, n, &ps); 26、编写一个函数从mm个字符串中找出最长的一个字符n; 串,并通过形参指针max传回该串地址。(注意:主函数中用27、请编写函数fun,函数的功能是:判断字符串是否为回 春作为结束输入的标志) 文?若是,函数返回1,主函数中输出:YES,否则返回0,主 注意:部分源程序在文件PROG1C中。 函数中输出NO。回文是指顺读和倒读都一样的字符串 请勿改动主函数main和其它函数中的任何内容,仅在 例如,字符串 LEVEL是回文,而字符串123312就不是 函数fun的花括号中填入你编写的若干语句 回文 #include 注意:部分源程序在文件PROG1C中 #include 请勿改动主函数main和其它函数中的任何 函数fun的花括号中填入你编写的若干语句 fun(char("a)81, int num, char *"max) lude fine 80 以下代码仅供参考* int ik=0,len, maxlen,/k为a数组中最长串所在元素的 下标,初始为0, maxlen为其串长制 maxlen=strlen(a[kD) for(Fl; i int n, FO FILE *rf. wwf. int fun(int al, int n wf=fopen("c: \\testllout dat", w"); while( strncmp(ss[d,”***”,4)==0 } maino
宏为世纪教育 www.greatc.cn 4 月上机考试题库 编程题 10 fscanf(rf, "%s", s) ; fun(s, t) ; fprintf(wf, "%s\n", t) ; } fclose(rf) ; fclose(wf) ; } 26、编写一个函数,从 num 个字符串中找出最长的一个字符 串,并通过形参指针 max 传回该串地址。(注意: 主函数中用 ****作为结束输入的标志) 注意:部分源程序在文件 PROG1.C 中。 请勿改动主函数 main 和其它函数中的任何内容,仅在 函数 fun 的花括号中填入你编写的若干语句。 #include #include fun(char(*a)[81],int num,char **max) { /* 以下代码仅供参考 */ int i,k=0,len, maxlen; /* k 为 a 数组中最长串所在元素的 下标,初始为 0,maxlen 为其串长 */ maxlen=strlen(a[k]); for(i=1;i #define N 80 int fun(char *str) { } main() { char s[N] ; printf("Enter a string: ") ; gets(s) ; printf("\n\n") ; puts(s) ; if(fun(s)) printf(" YES\n") ; else printf(" NO\n") ; NONO() ; } NONO() {/* 请在此函数内打开文件,输入测试数据,调用 fun 函 数,输出数据,关闭文件。 */ FILE *rf, *wf ; int i ; char s[N] ; rf = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i #define N 80 int fun(int a[], int n) { } main() { int