新视野二级C语言上机50套真题题库(最新2013版)
更新时间:2023-04-05 10:42:01 阅读量: 实用文档 文档下载
新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究
二级C语言上机50套真题题库题目
一、程序填空题
1、给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。
例如,有9个正整数:1 5 7 23 87 5 8 21 45
按升序排列时的中间数为:8
处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#define N 9
int fun(int x[])
{ int i,j,k,t,mid,b[N];
for(i=0;i for(i=0;i<=N/2;i++) { k=i; for(j=i+1;j if(k != i ) { /**********found**********/ t=b[i]; b[i]=___1___; b[k]=t; } } /**********found**********/ mid=b[___2___]; for(i=0; i /**********found**********/ if(x[i] ___3___ mid) x[i]=mid; return mid; } main() { int i, x[N]={1,5,7,23,87,5,8,21,45}; for(i=0; i printf("\nThe mid data is: %d\n",fun(x)); for(i=0; i printf("\n"); } 2、给定程序中,函数fun的功能是建立一个N×N的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。例如,若N=5,生成的矩阵为: 1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 1 1 1 1 1 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 7 /**********found**********/ void fun(int (*a) __1__) { int i,j,k,m; if(N%2==0) m=N/2 ; else m=N/2+1; for(i=0; i /**********found**********/ for(j= __2__ ; j a[i][j]=a[N-i-1][j]=i+1; for(k=i+1; k /**********found**********/ a[k][i]=a[k][N-i-1]= __3__; } } main() { int x[N][N]={0},i,j; fun(x); printf("\nThe result is:\n"); for(i=0; i { for(j=0; j printf("\n"); } } 3、给定程序中,函数fun的功能是: 将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参s所指的字符串为:def35adh3kjsdf7。执行结果为:defadhkjsdf3537。 1 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include void fun(char *s) { int i, j=0, k=0; char t1[80], t2[80]; for(i=0; s[i]!='\0'; i++) if(s[i]>='0' && s[i]<='9') { /**********found**********/ t2[j]=s[i]; ___1___; } else t1[k++]=s[i]; t2[j]=0; t1[k]=0; /**********found**********/ for(i=0; i /**********found**********/ for(i=0; i<___3___; i++) s[k+i]=t2[i]; } main() { char s[80]="def35adh3kjsdf7"; printf("\nThe original string is : %s\n",s); fun(s); printf("\nThe result is : %s\n",s); } 4、给定程序中,函数fun的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9计算结果为 1 0 0 6 5 0 10 14 9 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 4 /**********found**********/ void fun(int (*t)___1___ ) { int i, j; for(i=1; i { for(j=0; j { /**********found**********/ ___2___ =t[i][j]+t[j][i]; /**********found**********/ ___3___ =0; } } } main() { int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j; printf("\nThe original array:\n"); for(i=0; i { for(j=0; j printf("\n"); } fun(t); printf("\nThe result is:\n"); for(i=0; i { for(j=0; j printf("\n"); } } 5、给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。 例如,形参s所指的字符串为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include void fun(char *s, char *p) { int i, j, n, x, t; 2 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究n=0; for(i=0; s[i]!='\0'; i++) n++; for(i=1; i /**********found**********/ ___1___; /**********found**********/ for(j=___2___+2 ; j if(s[t]>s[j]) t=j; if(t!=i) { x=s[i]; s[i]=s[t]; s[t]=x; } } for(i=1,j=0; i /**********found**********/ p[j]=___3___; } main() { char s[80]="baawrskjghzlicda", p[50]; printf("\nThe original string is : %s\n",s); fun(s,p); printf("\nThe result is : %s\n",p); } 6、程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函数fun的功能是输出这位学生的信息。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include typedef struct { int num; char name[9]; char sex; struct { int year,month,day ;} birthday; float score[3]; }STU; /**********found**********/ void show(STU ___1___) { int i; printf("\n%d %s %c %d-%d-%d", tt.num, 65f6ad5a312b3169a451a423, tt.sex, tt.birthday.year, tt.birthday.month, tt.birthday.day); for(i=0; i<3; i++) /**********found**********/ printf("%5.1f", ___2___); printf("\n"); } main( ) { STU std={ 1,"Zhanghua",'M',1961,10,8,76.5,78.0,82.0 }; printf("\nA student data:\n"); /**********found**********/ show(___3___); } 7、给定程序中,函数fun的功能是:计算N×N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 4 fun(int t[][N], int n) { int i, sum; /**********found**********/ ___1___; for(i=0; i /**********found**********/ sum+=___2___ ; for(i=0; i /**********found**********/ sum+= t[i][n-i-___3___] ; return sum; } main() { int t[][N]={21,2,13,24,25,16,47,38,29,11,32,54,42,21,3,10},i,j; printf("\nThe original data:\n"); for(i=0; i 3 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究{ for(j=0; j printf("\n"); } printf("The result is: %d",fun(t,N)); } 8、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。 例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000 主函数中输出:46 32 40 45 48 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #define N 10 double fun(double x[],double *y) { int i,j; double av; /**********found**********/ av=__1__; /**********found**********/ for(i=0; i for(i=j=0; i /**********found**********/ if(x[i]>av) y[__3__]= x[i]; y[j]=-1; return av; } main() { int i; double x[N] = {46,30,32,40,6,17,45,15,48,26}; double y[N]; for(i=0; i printf("\n"); printf("\nThe average is: %f\n",fun(x,y)); for(i=0; y[i]>=0; i++) printf("%5.0f ",y[i]); printf("\n"); } 9、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000 移动后的输出为:30 6 17 15 26 46 32 40 45 48 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #define N 10 double fun(double *x) { int i, j; double av, y[N]; av=0; /**********found**********/ for(i=0; i for(i=j=0; i if( x[i] /**********found**********/ y[j]=x[i]; x[i]=-1; __2__;} i=0; while(i { if( x[i]!= -1 ) y[j++]=x[i]; /**********found**********/ __3__; } for(i=0; i return av; } main() { int i; double x[N]; for(i=0; i printf("\n"); printf("\nThe average is: %f\n",fun(x)); printf("\nThe result :\n",fun(x)); for(i=0; i printf("\n"); } 4 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 10、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000 移动后的输出为:46 32 40 45 48 30 6 17 15 26 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #define N 10 double fun(double *x) { int i, j; double s, av, y[N]; s=0; for(i=0; i /**********found**********/ av=__1__; for(i=j=0; i if( x[i]>av ){ /**********found**********/ y[__2__]=x[i]; x[i]=-1;} for(i=0; i /**********found**********/ if( x[i]!= __3__) y[j++]=x[i]; for(i=0; i return av; } main() { int i; double x[N]= {46,30,32,40,6,17,45,15,48,26}; for(i=0; i printf("\n"); printf("\nThe average is: %f\n",fun(x)); printf("\nThe result :\n",fun(x)); for(i=0; i printf("\n"); } 11、函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 9 int fun(int a[], int n) { int i,j; j = 0; for (i=0; i /**********found**********/ if (a[i]%2==___1___) { /**********found**********/ a[j] = a[i]; ___2___; } /**********found**********/ return ___3___; } main() { int b[N]={9,1,4,2,3,6,5,8,7}, i, n; printf("\nThe original data :\n"); for (i=0; i printf("\n"); n = fun(b, N); printf("\nThe number of odd : %d \n", n); printf("\nThe odd number :\n"); for (i=0; i printf("\n"); } 12、给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include 5 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 #define M 5 #define N 20 int fun(char (*ss)[N], int *n) { int i, k=0, len= N; /**********found**********/ for(i=0; i<___1___; i++) { len=strlen(ss[i]); if(i==0) *n=len; /**********found**********/ if(len ___2___ *n) { *n=len; k=i; } } /**********found**********/ return(___3___); } main() { char ss[M][N]={"shanghai","guangzhou","beijing","tianjing","chongqing"}; int n,k,i; printf("\nThe original strings are :\n"); for(i=0;i k=fun(ss,&n); printf("\nThe length of shortest string is : %d\n",n); printf("\nThe shortest string is : %s\n",ss[k]); } 13、人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 8 typedef struct { int num; int year,month,day ; }STU; int fun(STU *std, STU *k, int year) { int i,n=0; for (i=0; i /**********found**********/ if( ___1___==year) /**********found**********/ k[n++]= ___2___; /**********found**********/ return (___3___); } main() { STU std[N]={ {1,1984,2,15},{2,1983,9,21},{3,1984,9,1},{4,1983,7,15}, {5,1985,9,28},{6,1982,11,15},{7,1982,6,22},{8,1984,8,19}}; STU k[N]; int i,n,year; printf("Enter a year : "); scanf("%d",&year); n=fun(std,k,year); if(n==0) printf("\nNo person was born in %d \n",year); else { printf("\nThese persons were born in %d \n",year); for(i=0; i printf("%d %d-%d-%d\n",k[i].num,k[i].year,k[i].month,k[i].day); } } 14、函数fun的功能是:将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则调换后为:6、7、8、9、5、1、2、3、4。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 9 void fun(int a[], int n) { int i, t, p; /**********found**********/ p = (n%2==0)?n/2:n/2+___1___; for (i=0; i { 6 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 t=a[i]; /**********found**********/ a[i] = a[p+___2___]; /**********found**********/ ___3___ = t; } } main() { int b[N]={1,2,3,4,5,6,7,8,9}, i; printf("\nThe original data :\n"); for (i=0; i printf("\n"); fun(b, N); printf("\nThe data after moving :\n"); for (i=0; i printf("\n"); } 15、给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确嶄绸果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include void fun(char *s, int a, double f) { /**********found**********/ __1__ fp; char ch; fp = fopen("file1.txt", "w"); fprintf(fp, "%s %d %f\n", s, a, f); fclose(fp); fp = fopen("file1.txt", "r"); printf("\nThe result :\n\n"); ch = fgetc(fp); /**********found**********/ while (!feof(__2__)) { /**********found**********/ putchar(__3__); ch = fgetc(fp); } putchar('\n'); fclose(fp); } main() { char a[10]="Hello!"; int b=12345; double c= 98.76; fun(a,b,c); } 16、给定程序中,函数fun的功能是:找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 4 void fun(int (*a)[N], int *b) { int i,j; for(i=0; i /**********found**********/ b[i]= __1__; for(j=1; j /**********found**********/ if(b[i] __2__ a[j][i]) b[i]=a[j][i]; } } main() { int x[N][N]={ {12,5,8,7},{6,1,9,3},{1,2,3,4},{2,8,4,3} },y[N],i,j; printf("\nThe matrix :\n"); for(i=0;i { for(j=0;j printf("\n"); } /**********found**********/ fun(__3__); printf("\nThe result is:"); for(i=0; i printf("\n"); 7 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 } 17、给定程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:abcdef35adgh3kjsdf7。输出结果为:4。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include void fun(char *s, int *t) { int i, n; n=0; /**********found**********/ for(i=0; ___1___ !=0; i++) /**********found**********/ if(s[i]>='0'&&s[i]<= ___2___ ) n++; /**********found**********/ ___3___ ; } main() { char s[80]="abcdef35adgh3kjsdf7"; int t; printf("\nThe original string is : %s\n",s); fun(s,&t); printf("\nThe result is : %d\n",t); } 18、函数fun的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把形参a所指数组中的最大值放在a[1]元素中;再把a 所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3];其余以此类推。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。形参n中存放a所指数组中数据的个数。 注意:规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! # include #define N 9 void fun(int a[], int n) { int i,j, max, min, px, pn, t; for (i=0; i { /**********found**********/ max = min = ___1___; px = pn = i; for (j=i+1; j /**********found**********/ if (max<___2___) { max = a[j]; px = j; } /**********found**********/ if (min>___3___) { min = a[j]; pn = j; } } if (pn != i) { t = a[i]; a[i] = min; a[pn] = t; if (px == i) px =pn; } if (px != i+1) { t = a[i+1]; a[i+1] = max; a[px] = t; } } } main() { int b[N]={9,1,4,2,3,6,5,8,7}, i; printf("\nThe original data :\n"); for (i=0; i printf("\n"); fun(b, N); printf("\nThe data after moving :\n"); for (i=0; i printf("\n"); } 19、给定程序中,函数fun的功能是:将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。 例如,s所指字符串为:asd123fgh5##43df, 处理后新字符串为:123543asdfgh##df。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include 8 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 #include #include #include char *fun(char *s) { int i, j, k, n; char *p, *t; n=strlen(s)+1; t=(char*)malloc(n*sizeof(char)); p=(char*)malloc(n*sizeof(char)); j=0; k=0; for(i=0; i { if(isdigit(s[i])) { /**********found**********/ p[__1__]=s[i]; j++;} else { t[k]=s[i]; k++; } } /**********found**********/ for(i=0; i<__2__; i++) p[j+i]= t[i]; p[j+k]=0; /**********found**********/ return __3__; } main() { char s[80]; printf("Please input: "); scanf("%s",s); printf("\nThe result is: %s\n",fun(s)); } 20、给定程序中,函数fun的功能是:有N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均右移m个位置,左边置为0。例如,N=3,m=2,有下列矩阵 1 2 3 4 5 6 7 8 9程序执行结果为 0 0 1 0 0 4 0 0 7 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 4 void fun(int (*t)[N], int m) { int i, j; /**********found**********/ for(i=0; i { for(j=N-1-m; j>=0; j--) /**********found**********/ t[i][j+___2___ ]=t[i][j]; /**********found**********/ for(j=0; j<___3___; j++) t[i][j]=0; } } main() { int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j, m; printf("\nThe original array:\n"); for(i=0; i { for(j=0; j printf("%2d ",t[i][j]); printf("\n"); } printf("Input m (m<=%d): ",N);scanf("%d",&m); fun(t,m); printf("\nThe result is:\n"); for(i=0; i { for(j=0; j printf("%2d ",t[i][j]); printf("\n"); } } 21、函数fun的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把奇数从数组中删除,偶数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除奇数后a所指数组中的数据为:4、2、6、8,返回值为4。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 9 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 不得增行或删行,也不得更改程序的结构! #include #define N 9 int fun(int a[], int n) { int i,j; j = 0; for (i=0; i /**********found**********/ if (___1___== 0) { /**********found**********/ ___2___ = a[i]; j++; } /**********found**********/ return ___3___; } main() { int b[N]={9,1,4,2,3,6,5,8,7}, i, n; printf("\nThe original data :\n"); for (i=0; i printf("\n"); n = fun(b, N); printf("\nThe number of even :%d\n", n); printf("\nThe even :\n"); for (i=0; i printf("\n"); } 22、给定程序中,函数fun的功能是:判定形参a所指的N×N(规定N为奇数)的矩阵是否是"幻方",若是,函数返回值为1;不是,函数返回值为0。"幻方"的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。 例如,以下3×3的矩阵就是一个"幻方": 4 9 2 3 5 7 8 1 6 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 3 int fun(int (*a)[N]) { int i,j,m1,m2,row,colum; m1=m2=0; for(i=0; i { j=N-i-1; m1+=a[i][i]; m2+=a[i][j]; } if(m1!=m2) return 0; for(i=0; i /**********found**********/ row=colum= __1__; for(j=0; j { row+=a[i][j]; colum+=a[j][i]; } /**********found**********/ if( (row!=colum) __2__ (row!=m1) ) return 0; } /**********found**********/ return __3__; } main() { int x[N][N],i,j; printf("Enter number for array:\n"); for(i=0; i for(j=0; j printf("Array:\n"); for(i=0; i { for(j=0; j printf("\n"); } if(fun(x)) printf("The Array is a magic square.\n"); else printf("The Array isn't a magic square.\n"); } 23、给定程序中,函数fun的功能是将a和b所指的两个字符串分别转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。 例如,主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include 10 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 #include #define N 9 long ctod( char *s ) { long d=0; while(*s) if(isdigit( *s)) { /**********found**********/ d=d*10+*s-__1__; /**********found**********/ __2__; } return d; } long fun( char *a, char *b ) { /**********found**********/ return __3__; } main() { char s1[N],s2[N]; do { printf("Input string s1 : "); gets(s1); } while( strlen(s1)>N ); do { printf("Input string s2 : "); gets(s2); } while( strlen(s2)>N ); printf("The result is: %ld\n", fun(s1,s2) ); } 24、给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedgf。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include void fun(char *s) { int i, n, k; char c; n=0; for(i=0; s[i]!='\0'; i++) n++; /**********found**********/ if(n%2==0) k=n-___1___ ; else k=n-2; /**********found**********/ c=___2___ ; for(i=k-2; i>=1; i=i-2) s[i+2]=s[i]; /**********found**********/ s[1]=___3___ ; } main() { char s[80]="abcdefgh"; printf("\nThe original string is : %s\n",s); fun(s); printf("\nThe result is : %s\n",s); } 25、给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #define M 5 #define N 20 void fun(char (*ss)[N]) { int i, j, n, len=0; for(i=0; i { len=strlen(ss[i]); if(i==0) n=len; if(len>n)n=len; } for(i=0; i /**********found**********/ n=strlen(___1___); for(j=0; j /**********found**********/ 11 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 ss[i][ ___2___]='*'; /**********found**********/ ss[i][n+j+ ___3___]='\0'; } } main() { char ss[M][N]={"shanghai","guangzhou","beijing","tianjing","cchongqing"}; int i; printf("The original strings are :\n"); for(i=0; i printf("\n"); fun(ss); printf("The result is :\n"); for(i=0; i } 26、给定程序中,函数fun的功能是:将N×N矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。例如,N=3,有下列矩阵 1 2 3 4 5 6 7 8 9计算结果为 3 1 2 6 4 5 9 7 8 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 4 void fun(int (*t)[N]) { int i, j, x; /**********found**********/ for(i=0; i<___1___; i++) { /**********found**********/ x=t[i][___2___] ; for(j=N-1; j>=1; j--) t[i][j]=t[i][j-1]; /**********found**********/ t[i][___3___]=x; } } main() { int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j; printf("The original array:\n"); for(i=0; i { for(j=0; j printf("\n"); } fun(t); printf("\nThe result is:\n"); for(i=0; i { for(j=0; j printf("\n"); } } 27、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。当调用正确时, 程序输出: x1=5.000000, x2=3.000000, x1*x1+x1*x2=40.000000 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include double f1(double x) { return x*x; } double f2(double x, double y) { return x*y; } /**********found**********/ __1__ fun(int i, double x, double y) { if (i==1) /**********found**********/ return __2__(x); else /**********found**********/ return __3__(x, y); } main() 12 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 { double x1=5, x2=3, r; r = fun(1, x1, x2); r += fun(2, x1, x2); printf("\nx1=%f, x2=%f, x1*x1+x1*x2=%f\n\n",x1, x2, r); } 28、给定程序的主函数中,已给出由结构体构成的链表结点a、b、c,各结点的数据域中均存入字符,函数fun()的作用是:将a、b、c三个结点链接成一个单向链表,并输出链表结点中的数据。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include typedef struct list { char data; struct list *next; } Q; void fun( Q *pa, Q *pb, Q *pc) { Q *p; /**********found**********/ pa->next=___1___; pb->next=pc; p=pa; while( p ) { /**********found**********/ printf(" %c",____2_____); /**********found**********/ p=____3____; } printf("\n"); } main() { Q a, b, c; a.data='E'; b.data='F'; c.data='G'; c.next=NULL; fun( &a, &b, &c ); } 29、给定程序中,函数fun的功能是:对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。ss所指字符串数组中共有M个字符串,且串长 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #define M 5 #define N 20 void fun(char (*ss)[N]) { int i, j, k, n[M]; char t[N]; for(i=0; i for(i=0; i { k=i; /**********found**********/ for(j=___1___; j /**********found**********/ if(n[k]>n[j]) ___2___; if(k!=i) { strcpy(t,ss[i]); strcpy(ss[i],ss[k]); /**********found**********/ strcpy(ss[k],___3___); n[k]=n[i]; } } } main() { char ss[M][N]={"shanghai","guangzhou","beijing","tianjing","cchongqing"}; int i; printf("\nThe original strings are :\n"); for(i=0; i printf("\n"); fun(ss); printf("\nThe result :\n"); for(i=0; i } 30、给定程序中,函数fun的作用是:统计整型变量m中各数字出现的次数,并存放到数组a中,其中:a[0]存放0出现的次数,a[1] 13 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 存放1出现的次数,……a[9]存放9出现的次数。 例如,若m为14579233,则输出结果应为:0,1,1,2,1,1,0,1,0,1, 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include void fun( int m, int a[10]) { int i; for (i=0; i<10; i++) /**********found**********/ __1__ = 0; while (m > 0) { /**********found**********/ i = ___2___; a[i]++; /**********found**********/ m = ___3___; } } main() { int m, a[10],i; printf("请输入一个整数: "); scanf("%d", &m); fun(m, a); for (i=0; i<10; i++) printf("%d,",a[i]); printf("\n"); } 31、给定程序中,函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个*号。例如,形参s所指的字符串为:def35adh3kjsdf7。执行结果为:def3*5*adh3*kjsdf7*。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include void fun(char *s) { int i, j, n; for(i=0; s[i]!='\0'; i++) /**********found**********/ if(s[i]>='0' ___1___ s[i]<='9') { n=0; /**********found**********/ while(s[i+1+n]!= ___2___) n++; for(j=i+n+1; j>i; j--) /**********found**********/ s[j+1]= ___3___; s[j+1]='*'; i=i+1; } } main() { char s[80]="ba3a54cd23a"; printf("\nThe original string is : %s\n",s); fun(s); printf("\nThe result is : %s\n",s); } 32、函数fun的功能是:输出a所指数组中的前n个数据,要求每行输出5个数。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include void fun( int *a, int n ) { int i; for(i=0; i { /**********found**********/ if( ___1___==0 ) /**********found**********/ printf("___2___"); /**********found**********/ printf("%d ",___3___); } } main() { int a[100]={0}, i,n; n=22; 14 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究for(i=0; i fun( a, n); printf("\n"); } 33、给定程序中,函数fun的功能是:调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置0)。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #define N 20 void fun( int *a) { int i, x, n=0; x=rand()%20; /**********found**********/ while (n<__1__) { for(i=0; i /**********found**********/ if( x==a[i] ) __2__; /**********found**********/ if( i==__3__){ a[n]=x; n++; } x=rand()%20; } } main() { int x[N]={0} ,i; fun( x ); printf("The result : \n"); for( i=0; i { printf("%4d",x[i]); if((i+1)%5==0)printf("\n"); } printf("\n\n"); } 34、函数fun的功能是进行数字字符转换。若形参ch中是数字字符'0'~'9', 则'0'转换成'9','1'转换成'8','2'转换成'7',……,'9'转换成'0';若是其它字符则保持不变;并将转换后的结果作为函数值返回。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include /**********found**********/ ___1___ fun(char ch) { /**********found**********/ if (ch>='0' && ___2___) /**********found**********/ return '9'- (ch-___3___); return ch ; } main() { char c1, c2; printf("\nThe result :\n"); c1='2'; c2 = fun(c1); printf("c1=%c c2=%c\n", c1, c2); c1='8'; c2 = fun(c1); printf("c1=%c c2=%c\n", c1, c2); c1='a'; c2 = fun(c1); printf("c1=%c c2=%c\n", c1, c2); } 35、给定程序中,函数fun的功能是:求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #define M 5 #define N 20 /**********found**********/ int fun(char (*ss) ___1___, int *n) { int i, k=0, len=0; for(i=0; i { len=strlen(ss[i]); /**********found**********/ 15 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 if(i==0) *n=___2___; if(len>*n) { /**********found**********/ ___3___; k=i; } } return(k); } main() { char ss[M][N]={"shanghai","guangzhou","beijing","tianjing","cchongqing"}; int n,k,i; printf("\nThe original strings are :\n"); for(i=0;i k=fun(ss,&n); printf("\nThe length of longest string is : %d\n",n); printf("\nThe longest string is : %s\n",ss[k]); } 36、给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #define M 5 #define N 20 void fun(char (*ss)[N]) { int i, j, k=0, n, m, len; for(i=0; i { len=strlen(ss[i]); if(i==0) n=len; if(len>n) { /**********found**********/ n=len; ___1___=i; } } for(i=0; i if (i!=k) { m=n; len=strlen(ss[i]); /**********found**********/ for(j=___2___; j>=0; j--) ss[i][m--]=ss[i][j]; for(j=0; j /**********found**********/ ___3___='*'; } } main() { char ss[M][N]={"shanghai","guangzhou","beijing","tianjing","cchongqing"}; int i; printf("\nThe original strings are :\n"); for(i=0; i printf("\n"); fun(ss); printf("\nThe result:\n"); for(i=0; i } 37、给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include typedef struct { char name[10]; int age; }STD; STD fun(STD std[], int n) { STD max; int i; /**********found**********/ max= ___1___; for(i=1; i /**********found**********/ 16 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 if(max.age<___2___) max=std[i]; return max; } main( ) { STD std[5]={"aaa",17,"bbb",16,"ccc",18,"ddd",17,"eee",15 }; STD max; max=fun(std,5); printf("\nThe result: \n"); /**********found**********/ printf("\nName : %s, Age : %d\n", ___3___,max.age); } 38、人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #define N 8 typedef struct { char num[10]; int year,month,day ; }STU; /**********found**********/ ___1___ fun(STU *std, char *num) { int i; STU a={"",9999,99,99}; for (i=0; i /**********found**********/ if( strcmp(___2___,num)==0 ) /**********found**********/ return (___3___); return a; } main() { STU std[N]={ {"111111",1984,2,15},{"222222",1983,9,21},{"333333",1984,9,1}, {"444444",1983,7,15},{"555555",1984,9,28},{"666666",1983,11,15}, {"777777",1983,6,22},{"888888",1984,8,19}}; STU p; char n[10]="666666"; p=fun(std,n); if(p.num[0]==0) printf("\nNot found !\n"); else { printf("\nSucceed !\n "); printf("%s %d-%d-%d\n",p.num,p.year,p.month,p.day); } } 39、给定程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9计算结果为 7 4 1 8 5 2 9 6 3 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 4 void fun(int (*t)[N]) { int j ,r[N]; for(j=0; j for(j=0; j /**********found**********/ t[0][N-j-1]=t[j][___1___ ]; for(j=0; j t[j][0]=t[N-1][j]; /**********found**********/ for(j=N-1; j>=0;___2___ ) t[N-1][N-1-j]=t[j][N-1]; for(j=N-1; j>=0; j--) /**********found**********/ t[j][N-1]=r[___3___]; } main() 17 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 { int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j; printf("\nThe original array:\n"); for(i=0; i { for(j=0; j printf("\n"); } fun(t); printf("\nThe result is:\n"); for(i=0; i { for(j=0; j printf("\n"); } } 40、给定程序中,函数fun的功能是:将N×N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9交换后为: 3 2 1 4 5 6 9 8 7 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 4 /**********found**********/ void fun(int ___1___ , int n) { int i,s; /**********found**********/ for(___2___; i++) { s=t[i][i]; t[i][i]=t[i][n-i-1]; /**********found**********/ t[i][n-1-i]=___3___; } } main() { int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j; printf("\nThe original array:\n"); for(i=0; i { for(j=0; j printf("\n"); } fun(t,N); printf("\nThe result is:\n"); for(i=0; i { for(j=0; j printf("\n"); } } 41、给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。 例如,s所指字符串为:baacda,c中的字符为:a, 执行后s所指字符串为:baaaacdaa。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include void fun(char *s, char c) { int i, j, n; /**********found**********/ for(i=0; s[i]!=___1___ ; i++) if(s[i]==c) { /**********found**********/ n=___2___ ; while(s[i+1+n]!='\0') n++; for(j=i+n+1; j>i; j--) s[j+1]=s[j]; /**********found**********/ s[j+1]=___3___ ; i=i+1; } } 18 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 main() { char s[80]="baacda", c; printf("\nThe string: %s\n",s); printf("\nInput a character: "); scanf("%c",&c); fun(s,c); printf("\nThe result is: %s\n",s); } 42、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun 的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 5 typedef struct student { long sno; char name[10]; float score[3]; } STU; void fun(char *filename, STU n) { FILE *fp; /**********found**********/ fp = fopen(__1__, "rb+"); /**********found**********/ fseek(__2__, -(long)sizeof(STU), SEEK_END); /**********found**********/ fwrite(&n, sizeof(STU), 1, __3__); fclose(fp); } main() { STU t[N]={ {10001,"MaChao", 91, 92, 77}, {10002,"CaoKai", 75, 60, 88}, {10003,"LiSi", 85, 70, 78}, {10004,"FangFang", 90, 82, 87}, {10005,"ZhangSan", 95, 80, 88}}; STU n={10006,"ZhaoSi", 55, 70, 68}, ss[N]; int i,j; FILE *fp; fp = fopen("student.dat", "wb"); fwrite(t, sizeof(STU), N, fp); fclose(fp); fp = fopen("student.dat", "rb"); fread(ss, sizeof(STU), N, fp); fclose(fp); printf("\nThe original data :\n\n"); for (j=0; j { printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name); for (i=0; i<3; i++) printf("%6.2f ", ss[j].score[i]); printf("\n"); } fun("student.dat", n); printf("\nThe data after modifing :\n\n"); fp = fopen("student.dat", "rb"); fread(ss, sizeof(STU), N, fp); fclose(fp); for (j=0; j { printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name); for (i=0; i<3; i++) printf("%6.2f ", ss[j].score[i]); printf("\n"); } } 43、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun 的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename 所指的文件中,覆盖原来的文件内容。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 5 typedef struct student { long sno; char name[10]; float score[3]; } STU; void fun(char *filename) { FILE *fp; int i, j; STU s[N], t; /**********found**********/ 19 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 fp = fopen(filename, __1__); fread(s, sizeof(STU), N, fp); fclose(fp); for (i=0; i for (j=i+1; j /**********found**********/ if (s[i].sno __2__ s[j].sno) { t = s[i]; s[i] = s[j]; s[j] = t; } fp = fopen(filename, "wb"); /**********found**********/ __3__(s, sizeof(STU), N, fp); /* 二进制输出*/ fclose(fp); } main() { STU t[N]={ {10005,"ZhangSan", 95, 80, 88}, {10003,"LiSi", 85, 70, 78}, {10002,"CaoKai", 75, 60, 88}, {10004,"FangFang", 90, 82, 87}, {10001,"MaChao", 91, 92, 77}}, ss[N]; int i,j; FILE *fp; fp = fopen("student.dat", "wb"); fwrite(t, sizeof(STU), 5, fp); fclose(fp); printf("\n\nThe original data :\n\n"); for (j=0; j { printf("\nNo: %ld Name: %-8s Scores: ",t[j].sno, t[j].name); for (i=0; i<3; i++) printf("%6.2f ", t[j].score[i]); printf("\n"); } fun("student.dat"); printf("\n\nThe data after sorting :\n\n"); fp = fopen("student.dat", "rb"); fread(ss, sizeof(STU), 5, fp); fclose(fp); for (j=0; j { printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name); for (i=0; i<3; i++) printf("%6.2f ", ss[j].score[i]); printf("\n"); } } 44、给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include typedef struct { int num; char name[10]; }PERSON; /**********found**********/ void fun(PERSON ___1___) { /**********found**********/ ___2___ temp; if(std[0].num>std[1].num) { temp=std[0]; std[0]=std[1]; std[1]=temp; } if(std[0].num>std[2].num) { temp=std[0]; std[0]=std[2]; std[2]=temp; } if(std[1].num>std[2].num) { temp=std[1]; std[1]=std[2]; std[2]=temp; } } main() { PERSON std[ ]={ 5,"Zhanghu",2,"WangLi",6,"LinMin" }; int i; /**********found**********/ fun(___3___); printf("\nThe result is :\n"); for(i=0; i<3; i++) printf("%d,%s\n",std[i].num,std[i].name); } 45、给定程序中,函数fun的功能是:计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。 例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000 主函数中输出:m=30 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 20 新视野教育内部资料65f6ad5a312b3169a451a423 027-******** 版权所有翻印必究 不得增行或删行,也不得更改程序的结构! #include #include #define N 10 double fun(double x[],double *av) { int i,j; double d,s; s=0; for(i=0; i /**********found**********/ __1__=s/N; d=32767; for(i=0; i if(x[i]<*av && *av - x[i]<=d){ /**********found**********/ d=*av-x[i]; j=__2__;} /**********found**********/ return __3__; } main() { int i; double x[N]= {46,30,32,40,6,17,45,15,48,26}; double av,m; for(i=0; i printf("\n"); m=fun(x,&av); printf("\nThe average is: %f\n",av); printf("m=%5.0f ",m); printf("\n"); } 46、给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include typedef struct { int num; char name[9]; float score[3]; }STU; void show(STU tt) { int i; printf("%d %s : ",tt.num,65f6ad5a312b3169a451a423); for(i=0; i<3; i++) printf("%5.1f",tt.score[i]); printf("\n"); } /**********found**********/ void modify(___1___ *ss,float a) { int i; for(i=0; i<3; i++) /**********found**********/ ss->___2___ *=a; } main( ) { STU std={ 1,"Zhanghua",76.5,78.0,82.0 }; float a; printf("\nThe original number and name and scores :\n"); show(std); printf("\nInput a number : "); scanf("%f",&a); /**********found**********/ modify(___3___,a); printf("\nA result of modifying :\n"); show(std); } 47、围绕山顶一圈有N个山洞,编号为0、1、2、3、……、N-1,有一只狐狸和一只兔子在洞中居住。狐狸总想找到兔子并吃掉它,它的寻找方法是先到第一个洞(即编号为0的洞)中找;再隔1个洞,即到编号为2的洞中找;再隔2个洞,即到编号为5的洞中找;下次再隔3个洞;即到编号为9的洞中找;……。若狐狸找一圈,请为兔子指出所有不安全的洞号。程序中用a数组元素模拟每个洞,数组元素的下标即为洞号,数组元素中的值为0时,表示该洞安全,为1时表示该洞不安全。例如,当形参n的值为30时,不安全的洞号是0、2、5、9、14、20、27。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 100 void fun( int *a , int n ) 21
正在阅读:
新视野二级C语言上机50套真题题库(最新2013版)04-05
2015年天津外国语大学汉语国际教育硕士考研录取名单-考研真题-考研报录比03-18
泰剧曙光剧情介绍02-07
GMAT语法备考要达到什么样的标准03-21
2010年江苏省质量检查员培训参考资料答案(土建质检员)05-04
人教版七年级语文下册第五单元测试题12-23
假期生活作文400字07-11
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 新视野
- 上机
- 题库
- 真题
- 二级
- 语言
- 最新
- 2013
- 用友财务软件高级试题
- 2022幼儿教师个人工作总结范文【5篇】
- 高中语文第2章材料的使用与处理第2节材料的有机转化教师用书新人
- 危急值培训试题及答案92549
- 华为数据业务KPI指标体系
- (新)高中英语Unit3ThesecretofsuccessSectionⅣTaskProject学业
- 2011会计基础工作规范课程讲义
- 2022年陕西省中考化学试卷
- 高中地理必修一综合试题
- 【部编人教版】2022-2022学年第一学期期中素质检测八年级语文试
- 2022年北方民族大学软件工程832C语言程序设计与数据结构之数据结
- 2022年流沙河理想读后感
- 2022年云南大学人文学院334新闻与传播专业综合能力之
- 2016年福建师范大学公共管理学院613马克思主义哲学原理考研冲刺
- 2022年中考数学专题《反比例函数》复习试卷含答案解析
- 溆浦一中2015年元旦大型文艺汇演活动方案
- 田径运动会秩序册样本
- 2022年河南工业大学管理学院834管理学之管理学考研强化五套模拟
- 《C语言程序设计与数据结构》题库
- 2022年港口运行班职工述职报告