学海教育 内部资料 版权所有 翻印必究
}
long fun( char *a, char *b ) {
/**********found**********/ return __3__; }
main()
{ char s1[N],s2[N]; do
{ printf(\ string s1 : \ while( strlen(s1)>N ); do
{ printf(\ string s2 : \ while( strlen(s2)>N );
printf(\ %ld\\n\}
24、给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedgf。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
#include
{ 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]=\
printf(\ %s\\n\ fun(s);
printf(\ %s\\n\}
25、给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include for(i=0; i /**********found**********/ n=strlen(___1___); for(j=0; j main() { char ss[M][N]={\ int i; printf(\ for(i=0; i printf(\ 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 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include /**********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(\ for(i=0; i { for(j=0; j fun(t); printf(\ for(i=0; i { for(j=0; j 27、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。当调用正确时, 程序输出: x1=5.000000, x2=3.000000, x1*x1+x1*x2=40.000000 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 #include 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() { double x1=5, x2=3, r; r = fun(1, x1, x2); r += fun(2, x1, x2); printf(\} 28、给定程序的主函数中,已给出由结构体构成的链表结点a、b、c,各结点的数据域中均存入字符,函数fun()的作用是:将a、b、c三个结点链接成一个单向链表,并输出链表结点中的数据。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include struct list *next; } Q; void fun( Q *pa, Q *pb, Q *pc) { Q *p; 6 学海教育 内部资料 版权所有 翻印必究 /**********found**********/ pa->next=___1___; pb->next=pc; p=pa; while( p ) { /**********found**********/ printf(\ %c\/**********found**********/ p=____3____; } printf(\} 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个字符串,且串长 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include { int i, j, k, n[M]; char t[N]; for(i=0; i /**********found**********/ for(j=___1___; j { strcpy(t,ss[i]); strcpy(ss[i],ss[k]); /**********found**********/ strcpy(ss[k],___3___); n[k]=n[i]; } } } main() { char ss[M][N]={\ int i; printf(\ for(i=0; i printf(\ for(i=0; i 30、给定程序中,函数fun的作用是:统计整型变量m中各数字出现的次数,并存放到数组a中,其中:a[0]存放0出现的次数,a[1]存放1出现的次数,?? a[9]存放9出现的次数。 例如,若m为14579233,则输出结果应为:0,1,1,2,1,1,0,1,0,1, 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #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(\ fun(m, a); for (i=0; i<10; i++) printf(\ printf(\} 31、给定程序中,函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个*号。例如,形参s所指的字符串为:def35adh3kjsdf7。执行结果为:def3*5*adh3*kjsdf7*。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include 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]=\ printf(\ %s\\n\ fun(s); printf(\ %s\\n\} 32、函数fun的功能是:输出a所指数组中的前n个数据,要求每行输出5个数。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include for(i=0; i /**********found**********/ if( ___1___==0 ) /**********found**********/ printf(\/**********found**********/ printf(\ \ } } main() { int a[100]={0}, i,n; n=22; for(i=0; i 33、给定程序中,函数fun的功能是:调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置0)。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 #include /**********found**********/ while (n<__1__) { for(i=0; i /**********found**********/ if( x==a[i] ) __2__; /**********found**********/ if( i==__3__){ a[n]=x; n++; } x=rand() ; } } 7 学海教育 内部资料 版权所有 翻印必究 main() { int x[N]={0} ,i; fun( x ); printf(\ \\n\ for( i=0; i if((i+1)%5==0)printf(\ } printf(\} 34、函数fun的功能是进行数字字符转换。若形参ch中是数字字符'0'~'9', 则'0'转换成'9','1'转换成'8','2'转换成'7',??,'9'转换成'0';若是其它字符则保持不变;并将转换后的结果作为函数值返回。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include /**********found**********/ ___1___ fun(char ch) { /**********found**********/ if (ch>='0' && ___2___) /**********found**********/ return '9'- (ch-___3___); return ch ; } main() { char c1, c2; printf(\ :\\n\ c1='2'; c2 = fun(c1); printf(\ c2=%c\\n\ c1='8'; c2 = fun(c1); printf(\ c2=%c\\n\ c1='a'; c2 = fun(c1); printf(\ c2=%c\\n\} 35、给定程序中,函数fun的功能是:求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include /**********found**********/ int fun(char (*ss) ___1___, int *n) { int i, k=0, len=0; for(i=0; i /**********found**********/ if(i==0) *n=___2___; if(len>*n) { /**********found**********/ ___3___; k=i; } } return(k); } main() { char ss[M][N]={\ int n,k,i; printf(\ for(i=0;i printf(\ %d\\n\ printf(\ %s\\n\} 36、给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include void fun(char (*ss)[N]) { int i, j, k=0, n, m, len; for(i=0; i /**********found**********/ n=len; ___1___=i; } } for(i=0; i len=strlen(ss[i]); /**********found**********/ for(j=___2___; j>=0; j--) ss[i][m--]=ss[i][j]; for(j=0; j main() { char ss[M][N]={\ int i; printf(\ for(i=0; i printf(\ for(i=0; i 37、给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include { char name[10]; int age; }STD; STD fun(STD std[], int n) { STD max; int i; /**********found**********/ max= ___1___; for(i=1; i /**********found**********/ if(max.age<___2___) max=std[i]; return max; } main( ) { STD std[5]={\ }; STD max; max=fun(std,5); printf(\/**********found**********/ printf(\ Age : %d\\n\} 38、人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include int year,month,day ; }STU; /**********found**********/ ___1___ fun(STU *std, char *num) { int i; STU a={\ for (i=0; i /**********found**********/ if( strcmp(___2___,num)==0 ) 8 学海教育 内部资料 版权所有 翻印必究 /**********found**********/ return (___3___); return a; } main() { STU std[N]={ {\ {\ {\ STU p; char n[10]=\ p=fun(std,n); if(p.num[0]==0) printf(\ else { printf(\ \ printf(\ %d-%d-%d\\n\ } } 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 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include for(j=0; j /**********found**********/ t[0][N-j-1]=t[j][___1___ ]; for(j=0; 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() { int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j; printf(\ for(i=0; i { for(j=0; j fun(t); printf(\ for(i=0; i { for(j=0; j 40、给定程序中,函数fun的功能是:将N×N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9交换后为: 3 2 1 4 5 6 9 8 7 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include /**********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(\ for(i=0; i { for(j=0; j fun(t,N); printf(\ for(i=0; i { for(j=0; j 41、给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。 例如,s所指字符串为:baacda,c中的字符为:a, 执行后s所指字符串为:baaaacdaa。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #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; } } main() { char s[80]=\ printf(\ %s\\n\ printf(\ \ scanf(\ fun(s,c); printf(\ %s\\n\} 42、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 #include char name[10]; float score[3]; } STU; void fun(char *filename, STU n) { FILE *fp; /**********found**********/ fp = fopen(__1__, \/**********found**********/ fseek(__2__, -(long)sizeof(STU), SEEK_END); /**********found**********/ fwrite(&n, sizeof(STU), 1, __3__); fclose(fp); } main() 9 学海教育 内部资料 版权所有 翻印必究 { STU t[N]={ {10001,\ {10003,\ {10004,\ {10005,\ STU n={10006,\ int i,j; FILE *fp; fp = fopen(\ fwrite(t, sizeof(STU), N, fp); fclose(fp); fp = fopen(\ fread(ss, sizeof(STU), N, fp); fclose(fp); printf(\ for (j=0; j { printf(\ Name: %-8s Scores: \ for (i=0; i<3; i++) printf(\ printf(\ } fun(\ printf(\ fp = fopen(\ fread(ss, sizeof(STU), N, fp); fclose(fp); for (j=0; j { printf(\ Name: %-8s Scores: \ for (i=0; i<3; i++) printf(\ printf(\ } } 43、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 #include char name[10]; float score[3]; } STU; void fun(char *filename) { FILE *fp; int i, j; STU s[N], t; /**********found**********/ fp = fopen(filename, __1__); fread(s, sizeof(STU), N, fp); fclose(fp); for (i=0; i /**********found**********/ if (s[i].sno __2__ s[j].sno) { t = s[i]; s[i] = s[j]; s[j] = t; } fp = fopen(filename, \/**********found**********/ __3__(s, sizeof(STU), N, fp); /* 二进制输出 */ fclose(fp); } main() { STU t[N]={ {10005,\ {10002,\ {10001,\ int i,j; FILE *fp; fp = fopen(\ fwrite(t, sizeof(STU), 5, fp); fclose(fp); printf(\ for (j=0; j { printf(\ Name: %-8s Scores: \ for (i=0; i<3; i++) printf(\ printf(\ } fun(\ printf(\ fp = fopen(\ fread(ss, sizeof(STU), 5, fp); fclose(fp); for (j=0; j { printf(\ Name: %-8s Scores: \ for (i=0; i<3; i++) printf(\ printf(\ } } 44、给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include 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,\ int i; /**********found**********/ fun(___3___); printf(\ for(i=0; i<3; i++) printf(\} 45、给定程序中,函数fun的功能是:计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。 例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000 主函数中输出:m=30 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include double fun(double x[],double *av) { int i,j; double d,s; s=0; for(i=0; i 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(\ printf(\ printf(\} 46、给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include 10 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库二级C语言上机考试复习资料,共有50套题目(2)在线全文阅读。
相关推荐: