计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数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】 )j fread(s,sizeof(STU),N,fp); fclose(fp); for(i=0;i<N一1;i++) for(j=i+1;j<N;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<N;j++) {printf("\nNo:%id Name:%一8s Scores:",t[J].sno,t[j].name); for(i=0;i<3;i++) printf("%6.2 f",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.2 f",ss[j].scoEe[i]); printf("\n"); } }
进入题库练习
问答题请编写一个函数,函数的功能是删除字符串中的所有空格。例如,主函数中输入”asd afaa z67”,则输出为”asdafaaz67”。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #include void fun(char *str) { } main () { char str[81];void NONO (); printf("Input a string:"); gets(str); puts(str); fun(str); printf ("*** str: %s/n",str); NONO(); } void NONO () { /*请在此函数内打开文件,输入调试数据, 调用fun函数,输出数据,关闭文件。*/ char str[81]; int n = 0; FILE *rf, *wf ; rf = fopen("in.dat","r"); wf = fopen("out.dat","w"); while(n < 10) { fgets(str, 80, rf); fun (str); fprintf(wf, "%s", str); n++ ; } fclose(rf); fclose(wf); }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。 例如,在调用fun函数之前给a输入字符串:ABCDEFGHIJK,调用函数之后,字符数组b中的内容则为:ABC DEF GHI JK。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include void fun(char *p, char *b) { int i, k=0; while(*p) { i=l; while(i<=3 k++; p++; i++; } if(*P) { /**********found**********/ b[k++]=" "; } } b[k]='/0'; } main () { char a[80],b[80]; printf("Enter a string:");gets (a); printf("The original string: "); puts (a); fun(a,b); printf("/nThe string after insert space:");puts(b);printf("/n/n"); }
进入题库练习
问答题给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #define N 8 typedef struct list { int data; struct list *next; } SLIST; SLIST *creatlist(int *a); void outlist(SLIST *); void fun(SLIST *h, int *n) {SLIST *p; /**********found********** / 【1】=0; p=h->next; while(p) { (*n)++; /**********found**********/ p=p->【2】; } } main () {SLIST *head; int a[N]={12,87,45,32,91,16,20, 48},num; head=creatlist(a); outlist(head); /****** ****found**********/ fun (【3】, printf("/nnumber=%d/n",num); } SLIST *creatlist(int a[]) {SLIST *h,*p,*q; int i; h=p=(SLIST*)malloc(sizeof(SLIST)); for(i=0; idata=a[i]; p->next=q; p=q; } p->next=0; return h; } void outlist(SLIST *h) {SLIST *p; p=h->next; if (p==NULL) printf("The list is NULL!/n"); else { printf("/nHead "); do {printf("->%d",p->data); p=p->next;} while(p!=NULL); printf("->End/n"); } }
进入题库练习
问答题下列给定程序中,函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。 例如,当S所指字符串中的内容为“abcdabfabc”,t1所指子串中的内容为“ab”,t2所指子串中的内容为“99”时,结果在w所指的数组中的内容应为“abcdabf99c”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<conio.h> #include<stdio.h> #include<string.h> void fun(char*s,char*t1,char*t2,char*w) { char*p,*r,*a; strcpy(w,s); /********found********/ while(w) { P=w; r=t1; while(*r) /********found********/ if(*r==*p) { r++; p++; } else { break; } if(*r=="/0") a=w; w++; } r=t2; while(*r) { *a=*r; a++; r++; } } main() { char s[100],t1[100],t2[100],w[100]; printf("/nPlease enter string s:"); scanf("%s",s); printf("/nPlease enter substring t1:"); scanf("%s",t1); printf("/nPlease enter substring t2:"); scanf("%s",t2); if(strlen(t1)==strlen(t2)) { fun(s,t1,t2,w); printf("/nThe result is:%s/n",w); } else { printf("/nError;strlen(t1)!=strlen(t2)/n"); } }
进入题库练习
问答题程序通过定义学生结构体变量,存储了学生的学号、姓名和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( 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
进入题库练习
问答题假定输入的字符串中只包含字母和*号。请编写函数proc(),它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参m给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用c语言提供的字符串函数。 例如,若字符串中的内容为****a*bc*def*g*******,删除后,字符串中的内容则应当是a*bc*def*g。 注意:部分源程序已给出。 请勿改动主函数main和其他函数中的任何内容。 试题程序: #include<stdio.h> #include<conio.h> void proc(char*a, int m, int h, int e) void 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统计前导'*'的个数 proc(s, m, fn, tn); printf("The string after deleted: /n"); puts(s); )
进入题库练习
问答题给定程序中,函数fun的功能是: 在3×4的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。 例如,有下列矩阵: 1 2 13 4 7 8 10 6 3 5 9 7 程序执行结果为:find:a[2][2]=9 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 试题程序: #inclucte < st c < 10.h > #define M 3 #define N 4 void fun(int(*a)[N]) {int i=0,j,find=0,rmax,c,k; while((i < M)&&(!find)) {Emax=a[i][0];c=0; for(j=1;j < N;j++) if(Emax < a[i][j]){ /*********found*********/ rmax=a[i][j]; c= 【1】 ;} find=1;k=0; while(k < M&&find){ /*********found*********/ if(k!=i&&a[k][C] < =Emax) find= 【2】 ; k++; } if(find) printf("find:a[%d][%d] =%d/n",i,c,a[i][c]); /*********found*********/ 【3】 ; ) if(!find) printf("not found!/n"); } main() {int x[M][N],i,j; printf("Enter number for array:、n"); for(i=0;i < M;i++) for(j=0;j < N;j++) scanf("%d",&x[i][j]); printf("The array:/n"); for(i=0;i < M;i++) {for(j=0;j < N;j++) printf("%3 d",x[i][j]); printf("/n/n"); } fun(x); }
进入题库练习
问答题假定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了尾部的*号之外,将字符中其他的*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是“ABCDEFG*******”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容。仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<stdio.h> void fun(char*a,char*p) void main() char s[81],*t; printf("Enter a string:/n"); gets(s); t=s; while(*t) t++; t--;/*指针t指向字符串尾部*/ while(*t=='*') t--;/*指针t指向最后一个字母*/ fun(s,t); printf("The string after deleted:/n"); puts(s);
进入题库练习
问答题给定程序中,函数fun的功能是:判断形参s所指字符串是否是“回文”(Palindrome),若是,函数返回值为1;不是,函数返回值为0。“回文”是正读和反读都一样的字符串(不区分大小写字母)。 例如,LEVEL和Level是“回文”,而LEVLEV不是。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include <stdio.h>2 #include<string.h>3 #include<ctype.h>4 int fun(char *s)5 { char *1p,*rp;6 /**********found**********/7 1p=__1__;8 rp=s+strlen(s)-1;9 while((toupper(*1p)==toupper(*rp))&&(1p<rp)){10 /**********found**********/11 1p++;rp__2__;}12 /**********found**********/13 { if(1p<rp) __3__;14 else return 1;15 }16 main()17 { char s[81];18 printf(''Enter a string:'');scanf(''%s'',s);19 if(fun(s))printf(''\n\''%s\''is a Palindrome.\n\n'',s);20 else printf(''\n\''%s\''isn't a Palindrome.\n\n'',s);21 }
进入题库练习
问答题请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #define M 4 #include <stdio.h> int fun(int a[][M]) { } void main() { int arr[2][M]={5, 8, 3, 45, 76, -4, 12, 82}; printf(”max=% d\n", fun(arr)); }
进入题库练习
问答题请编写函数fun,其功能是:计算并输出下列多项式的值。 S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/2n) 例如,若主函数从键盘给n输入8后,则输出为S=0.662872。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<stdio.h> double fun(int n) { } void main() { int n; double s; printf("/nlnput n:"); scanf("%d", s=fun(n); printf("/nS=%f/n", s); }
进入题库练习
问答题函数fun的功能是:将a、b两个两位正整数合并成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的干位和十位上。 例如,当a=45,b=12,调用该函数后c=1425。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<conio.h> #include<stdio.h> 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); }
进入题库练习
问答题函数fun的功能是:将s所指字符串中除下标为偶数同时ASCII码值也为偶数的字符外,其余的全部删除;字符串中剩余字符所形成的新串放在t所指的数组中。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include <stdio.h> #include <string.h> void fun(char *s, char t[]) void main() char s[100], t[100]; printf("/nPlease enter string S:"); scanf("%s", s); fun(s, t); printf("/nThe result is: %s/n", t);
进入题库练习
问答题给定程序MODll.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。例如:当输入100时,输出:100=9+10+11+12+13+14+15+16100=18+19+20+21+22请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序: #include<stdio.h> void fun(int n) { int j,b,c,m,flag=0; for(b=1;b<=n/2;b++){ /**********found**********/ n=m; c=b; while(m!=0&&m>=c){ /**********found**********/ m=m—C;C++ } /**********found**********/ if(m!=0) {prinff(“%d=”,n); for(j=b;j<c一1;j++)prinff(“%d+”,j); prinff(“%d\n”,j); flag=1: { } if(nag=0) prinff(“不能分解\n”); } main(){ int n; prinff(“请输入一个整数:”);seanf(“%d”,&n); fun(n);}
进入题库练习
问答题函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。 例如,当a=45,b=12时,调用该函数后,c=1524。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include<stdio.h> void fun(int a,int b,long*c) { } main() {int a,b;long c; printf("Input a b:"); scanf("%d%d", fun(a,b, printf("The result is:%ld/n",c); }
进入题库练习
问答题下列给定程序中函数fun的功能是:逐个比较P、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到e所指的数组中,形成一个新的字符串。例如,若主函数中a字符串为“aBCDeFgH”,b字符串为“ABed”,则c中的字符串应为“aBcdeFgH”。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>#include<string.h>void fun(char*p,char*q,char*c){/*********found*********/ int k=1 ;/*********found*********/ while(*p!=*q) { if(*p<*q)c[k]=*q; else c[k]=*P; if(*P)P++; if(*q)q++; k++; }}main(){ char a[10]="aBCDeFgH",b[10]="ABcd",c[80]={'0'}; fun(a,b,c); printf("The string a:");puts(a); printf("The string b:");puts(b); printf("The result:");puts(c);}
进入题库练习
问答题下列给定程序中,函数fun的功能是:求k!(k < 13),所求阶乘的值作为函数值返回。例如,若k=10,则应输出3628800。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < eonio.h >#include < stdio.h >long fun(int k){/*********found*********/ if k >1 return(k* fun(k一1)); return 1;}main(){ int k=10; printf("%d!=%ld/n",k,fun(k));}
进入题库练习
问答题下列给定程序中函数fun()的功能是:求出以下分数序列的前n项之和。和值通过函数值返回。 21,32,53,85,138,2113,... 例如,若n=5,则应输出8.391667。 请改正程序中的错误,使其得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构。 试题程序 #include <stdlib.h> #include <conio.h> #include <stdio.h> double fun(int n) { int a=2, b=1, c, k; /* * * * *found* * * * * / int s=0.0; for(k=1; k<=n; k++) { /* * * * *found* * * * * / s=s+(Double)a/b c=a; a=a+b; b=c; } return(s); }
进入题库练习
问答题输入若干有序数放在数组中。然后输入一个数,插入到此有序数列中,插入后,数组中的数仍然有序。请对插在最前、插在最后、插在中间三种情况运行程序,以便验证程序是否正确。
进入题库练习