计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题 给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行和删行,也不得更改程序的结构! #include<stdio.h> #define N 20 void fun(int a[], int n) { int i, j, t, p; for(j=0; j<n-1; j++){ /**********found**********/ p=j for(i=j; i<n; i++) if(a[i]<a[p]) /**********found**********/ p=j; t=a[p]; a[p]=a[j]; a[j]=t; } } main() { int a[N]={9,6,8,3,-1}, i, m=5; printf("排序前的数据:"); for(i=0; i<m; i++)printf("%d", a[i]); printf("/n"); fun(a, m); printf("排序后的数据:"); for(i=0; i<m; i++)printf("%d", a[i]); printf("/n"); }
进入题库练习
问答题N名学生的成绩已在主函数中放人一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:求出平均分,并由函数值返回。 例如,若学生的成绩是:85,76,69,85,9l,72,64,87,则平均分应当是:78625。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若千语句。 试题程序: #include<stdlib.h> #include<stdio.h> #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*)mallocsizeof(STREC)); P->s=0; whilel(i<N) q=(STREC*)mallodsizeof(STREC)); q->s=s[i];i++lp->next=q;P=q; p->next=0; return h; ouclist(STREC*h) STREC*p; P=h->next; printf("head"); do printf("->%4.1f",p->s); P=P->next;/*输出各成绩*/ while(p!=NULL); printf("/n/n"); void main() double s[N]=85,76,69,85,91,72,64,87,ave; STREC*h; h=creat(s);outlist(h); ave=fun(h); printf("ave=%6.3f/n",ave);
进入题库练习
问答题下列给定程序中函数fun的功能是:将m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指存储区中。例如:把三个串“abe”、“CD”、“EF”连接起来,结果是“abcCDEF”。请改正程序中的错误,使它能得出正确的结果。 注意: 不要改动main函数,不得增行或删行,也不得更改程序的结构! [试题源程序] #include<stdio.h> #include<string.h> void fun(char str[][10],int m,char*pt) { /**********found**********/ Int k,q,i; for(k=0;k<m;k++) {q=strlen(str[k]); for(i=0;i<q;i++) /**********found**********/ pt[i]=str[k,i]; pt+=q; pt[0]=0; } } main() {int m,h; char s[10][10],p[120]; printf("Please enter m:"); scanf("%d",gets(s[0]); printf("Please enter%d string:",m); for(h=0;h<m;h++)gets(s[h]); fun(s,m,p); printf("The result is:%s",p); }
进入题库练习
问答题给定程序中,函数fun的功能是: 找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。 例如,形参s所指的字符串为:abcAbsmaxless,程序执行后的输出结果为: letter'a':3times letter's':3times 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 试题程序: #include < stdio.h > #include < string.h > #include < ctype.h > void fun (char*s) { int k[26] = {0},n,i,max =0; char ch; while ( * s) { if ( isalpha ( * s)) { /*********found*********/ ch = tolower ( 【1】 ) ; n =ch 一 'a'; /*********found*********/ k[n]+= 【2】 ; } s ++ ; /*********found*********/ if(max < k[n]) max= 【3】 ; printf ("/nAfter count :/n") ; for (i=0; i < 26;i ++) if (k[i] ==max) printf ("/nletter /'%c/': %d times/n" , i + 'a',k[i] ) ; } main () { char s[81]; printf ("/nEnter a string:/n/n") ; gets (s) ; fun (s) ; }
进入题库练习
问答题假定输入的字符串中只包含字母和*号。请编写函数 fun(),它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的K度,形参h给出了字符串中前导*号的个数,形参e给出了字符山中最后*号的个数。在编写函数时,不得使用c语言提供的字符串函数。 例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容则应当是A*BC*DEF*G。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仪在函数fun的花括号中填入所编写的若干语句。 试题程序: #include <stdio.h> #include <conio.h> void fun (char *a;int n ,int h ,int e) main ( ) char s [81],*t,*f; int m=0,tn=0, fn=0; printf("Enter a string :/n"); gets (s); t=f=s; while (*t) t++;m++; /*m为字符串的长度*/ t--; /*指针t指身字符串尾部*/ while (*t=='*') t--; tn++; /*指针t指向最后一个字母,tn统计尾部'*'的个数*/ while (*f=='*' ) f++;fn++; /*指针f指向第一个字母,tn统计导'*'的个数*/ fun( s, m, fn, tn); printf ("The string after deleted: /n"); puts (s);
进入题库练习
问答题请编写一个函数,函数的功能是删除字符串中的所有空格。 例如,主函数中输入“asd af aa z67”,则输出为“asdafaaz67”。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include<stdio.h> #include<ctype.h> void fun(char*str) { } main() { char str[81]; printf("Input a string:"); gets(str); puts(str); fun(str); printf("***str:%s/n", str); }
进入题库练习
问答题下列给定程序中,函数fun的功能是:输出M×M整数方阵,然后求两条对角线上元素之和,并作为函数值返回。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#define M 5/*********found*********/int fun(int n,int xx[][]){ int i,j,sum=0; printf("\nThe%d x%d matrix:\n",M,M); for(i=0;i<M;i++) { for(j=0;j<M;j++)/*********found*********/ printf("%f",xx[i][j]); printf("\n"); } for(i=0;i<n;i++) sum+=xx[i][i]+xx[i][n—i一1]; return(sum);}void main(){ int aa[M][M]={{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7)}; system("CLS"); printf("\nThe SLIm of all elements 013 2 diagnals is%d",fun(M,aa));}
进入题库练习
问答题函数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___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; iprintf("/n"); fun(b, N); printf("/nThe data after moving :/n"); for (i=0; iprintf("/n"); }
进入题库练习
问答题int x=6, y=7;   printf(“%d,”,x++); printf(“%d\n”,++y);   程序的输出结果是__________。
进入题库练习
问答题编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。 例如,假定输入的字符串为“asd asasdfg asd as zx67 asd mklo”,子字符串为“as”,则应当输出6。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<stdlib.h> #include<conio.h> #include<stdio.h> #include<string.h> int fun(char *sir, char *substr) { } void main() { char str[81], substr[3]; int n; system("CLS"); printf("输入主字符串:"); gets(str); printf("输入子字符串:"); gets(substr); puts(str); puts(substr); n=fun(str, substr); printf("n=%d/n", n); }
进入题库练习
问答题程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 试题程序: #include < stdio.h > #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*********/ fp = fopen (filename, 【1】 ) ; fread (s, sizeof (STU) , Nf fp) ; fclose ( fp) ; for (i=0; i < N 一1; 1++) for (j 一i+l; j < N; j ++) /*********found*********/ if (s[i] .sno 【2】 s[j ] .sno) 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 f "FangFang", 90, 82, 87 J,{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"); { printf ("/nNo: %ld Name: % 一8sscores: ",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 < N;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的功能是建立一个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; jprintf("/n"); } }
进入题库练习
问答题请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10 删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10 注意:部分源程序给出如下。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<stdio.h> #define N 80 int fun(int a[], int n) { } void main() { in/a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10}, i, n=20; printf("The original data:/n"); for(i=0; i<n; i++) printf{"%3d:, a[i]}; n=fun(a, n); printf("/n/nThe data after deleted:/n"); for(i=0; i<n; i++) printf("%3d", a[i]); printf("/n/n"); }
进入题库练习
问答题下列给定程序中,函数fun的功能是:从s所指字符串中,找出t所指字符串的个数作为函数值返回。例如,当s所指字符串中的内容为“abcdabfab”,t所指字符串的内容为“ab”,则函数返回整数3。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include <stdlib.h> #include <conio.h> #include <stdio.h> #include <string.h> int fun (char*s, char *t) { int n;char *p,*r; n=0; while(*s) { p=s; r=t; while(* r) /**********found**********/ if(*r==*p){r++;p++} else break; /**********found**********/ if(r=='/0') n++; s++; } return n; } void main() { char s[100],t[100];int m; system("CLS"); printf("/nPlease enter strings;"); scanf("%s",s); printf("/nPlease enter substringt;"); scanf("%s",t); m=fun(s,t); printf("/nThe result is:m=%d /n",m); }
进入题库练习
问答题m个人的成绩存放在score数组中,请编写函数fun(),它的功能是将高于平均分的人数作为函数值返回,将高于平均分的分数放在叩所指的数组中。 例如,当score数组中的数据为24,35,88,76,90,54, 59,66,96时,函数返回的人数应该是5,up中的数据应为88, 76, 90, 66, 96。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include <conio.h> #include <stdio.h> #include <string.h> int fun(int score[],int m,int up[]) { } main() { int i,n,up[9]; int score[9]={24,35,88,76,90,54, 59,66,96}; clrscr(); n=fun(score,9,up); printf("/nup to the average score are:"); for(i=0;i<n;i++) printf("%d",up[i]); }
进入题库练习
问答题函数fun()的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。 例如,当a=45,b=12时,调用该函数后,c=1524。 #include<stdio.h> void fun(int a, int b, long *c) main() int a, b; long c; void NONO(); printf("Input a,b:"); scanf("%d,%d”, fun(a,b, printf("The result is:%ld/n",c);
进入题库练习
问答题请编写一个函数void fun(int m,int k,int Xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入所指的数组中。例如,若输入17,5,则应输出19、23、29、31、37。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<conio.h>#include<stdio.h>#include<stdlib.h>void fun(int m,int k,int xx[]){}void main(){ FILE*wf; int m,n,zz[1000]; system("CLS"); printf("\nPlease enter two integer:"); scanf("%d%d",&m,&n); fun(m,n,z z); for(m=0;m<n;m++) printf("%d",zz[m]); printf("\n");/******************/ wf=fopen("out.dat","w"); fun(17,5,z z); for(m=0 ;m<5;m++) fprintf(wf,"%d",zz[m]); fclose(wf);/******************/}
进入题库练习
问答题下列程序定义了N×N的二维数组,并在主函数中自动赋值;请编写函数fun(int a[][N]),该函数的功能是:使数组左下半三角元素中的值全部置成0。例如a数组中的值为 a=1 9 7 2 3 8 4 5 6 则返回主程序后a数组中的值应为 0 9 7 0 0 8 0 0 0 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include <conio.h> #include <stdio.h> #include <stdlib.h> #define N 5 int fun (int a[] [N]) { } main() { int a[N] [N],i,j; clrscr(); printf("*****The array*****/n"); for(i=0;i<N;i++) /*产生—个随机的5*5矩阵*/ { for(j=0;j<N;j++) {a[i][j]=rand()%10; printf("%4d", a[i][j]); } printf("/n"); } fun (a); printf("THE RESULT/n"); for(i=0;i<N;i++) { for(j=0;j<N;j++) printf("%4d",a[i][j)); printf("/n"); } }
进入题库练习
问答题 给定程序MODI1.C中函数fun的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每五个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。 例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include <stdio.h> #define SIZE 20 fun(double *s,double *w) { int k,i;double sum; for(k=2,i=0;i<SIZE;i++) { s[i]=k;k+=2;} /**********found**********/ sun=0.0; for(k=0,i=0;i<SIZE;i++) { sum+=s[i]; /**********found**********/ if(i+1%5==0) { w[k]=sum/5;sum=0;k++;} } return k; } main() { double a[SIZE],b[SIZE/5]; int i,k; k=fun(a,b); printf("The original data:/n"); for(i=0;i<SIZE;i++) { if(i%5==0) printf("/n"); printf("%4.0f",a[i]); } printf("/n/nThe result:/n"); for(i=0;i<k;i++) printf("%6.2f",b[i]); printf("/n/n"); }
进入题库练习
问答题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。函数fun中给出的语句仅供参考。 例如,字符串中的内容为:*******A*BC*DEF*G****,移动后,字符串中的内容应当是:A*BC*DEF*G***********。在编写函数时,不得使用C语言提供的字符串函数。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include<stdio.h> void funl(char*a) { /*以下代码仅供参考*/ char*p,*q; iut n=0; p=a; while(*p=="*")/*统计串头"*"个数n*/ {n++;p++;) q=a; /*向前复制字符串,请填写相应的语句完成其功能*/ for(;n>0;n--)/*在串尾补n个"*"*/ *q++="*"; *q="/0"; } main() {char s[81];int n=0; printf("Enter a string:/n");gets(s); fun(s); printf("The string after moveing:/n");puts(s); }
进入题库练习