计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题请编写函数fun,其功能是:判断t所指字符串中的字母是否由连续递增字母序列组成 (字符串长度大于等于2)。例如字符串:uvwxyz满足要求;而字符串:uvxwyz不满足要求。注意:部分源程序存放在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。试题程序:#1nclucle < stclio.h >#include < string.h >void NONO();int fun(char*t){}main(){ char s[26];printf("请输入一个字母组成的字符串:");gets(s);if(fun(s))print:f("%s是由连续字母组成的字符串*/n",s);else printf("%s不是由连续字母组成的字符串!/n",s);NONO();}void NONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;int i;char s[26],*p;fp;iopen("c://test//in.dat","12");wf=fopen(“c://test//out.dat","w");for(i=0 ; i < 10; i++){fgets(s,26,fp);p=strchr(s,'/n');if(p)*p=0;if(fun(s))fprinti(wf,"%s/n",s+2);else fprintf(wf,"%s/n",strrev(s));}fclose(fp);fclose(wf);}
进入题库练习
问答题 由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值:反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(low<high),然后把m中中间位置(mid)中元素的值进行比较。如果m的值大于中间位置元素中的值,则下一次的查找范围落在中间位置之后的元素中;反之,下一次的查找范围落在中间位置之前的元素中。直到low>high,查找结束。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include <stdio.h> #define N 10 /************found************/ void fun(int a[], int m) { int low=0,high=N-1, mid; while (low<=high) { mid=(low+high)/2; if (m<a [mid]) high=mid-1; /************found************/ else If(m>a[mid]) low=mid+1; else return(mid); } return(-1); } main() { int i,a [N] ={-3,4,7, 9,13,45,67,89,100,180},k,m; printf("a数组中的数据如下:"); for(i=0;i<N;i++) printf("%d",a[i]); printf("Enter m:"); scanf("%d", k=fun(a,m); if(k>=0) printf("m=%d,index=%d/n",m,k); else printf("Not be found!/n"); }
进入题库练习
问答题给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #include<stdlib.h>3 #define N 84 typedef struct list5 { int data;6 struct list *next;7 } SLIST;8 SLIST *creatlist(int *a);9 void outlist(SLIST *);10 void fun(SLIST *h,int *n)11 { SLIST *p;12 /**********found**********/13 ___1___=0 ;14 p=h->next;15 while(p)16 {(*n)++;17 /**********found**********/18 p=p->___2___;19 }20 }21 msin()22 { SLIST*head;23 int a[N]={12,87,45,32,91,16,20,48},num;24 head=creatlist(a); outlist(head);25 /**********found**********/26 fun(__3__,27 printf(''\nnumber=%d\n'',num);28 }29 SLIST *creatliSt(int a[])30 {SLIST *h,*p,*q;int i;31 h=p=(SLIST *)malloc(sizeof(SLIST));32 for(i=0;i<N;i++)33 { q=(SLIST *)malloc(sizeof(SLIST));34 q->data=a[i];p->next=q;p=q;35 }36 p->next=0;37 return h;38 }39 void outlist(SLIST *h)40 {SLIST *p;41 p=h->next;42 if(p==NULL)printf(''The list is NULL!\n'');43 else44 { printf(''\nHead'');45 do46 {printf(''->%d'',p->data);p=p->next;}47 while(p!=NULL);48 printf(''->End\n'');49 }50 }
进入题库练习
问答题给定程序MODI1.C中规定输入的字符串全部为字母,fun函数的功能是:统计a所指字符串中每个字母在字符串中出现的次数(统计时不区分大小写),并将出现次数最高的字母输出(如果有多个相同,输出一个即可)。例如对于字符串:dadbcdbabdb,对应的输出应为:b或d。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行。也不得更改程序的结构。试题程序:#include<stdio.h>#include<stdio.h>#include<string.h>void fun(char a[]){int b[2 6],i,n,max; for(i=0;i<26;i++) /*********found*********/ a[i]=0; n=strlen(a); for(i=0;i<n;i++) if(a[i]>='a'&&a[i]<='z') /*********found*********/ b[a[i]-'A']++; else if(a[i]>='A'&&a[i]<='z') b[a[i]-'A']++; max=0; for(i=1;i<26;i++) /*********found*********/ if(b[max]>b[i]) max=i; printf("出现次数最多的字符是:%C\n”,max+'a');}main(){ char a[200]; printf("请输入一个待统计的字符串:");scanf("%s",a); fun(a);}
进入题库练习
问答题下列给定程序中,函数proc()的功能是求出数组中最小数和次最小数,并把最小数和arr[0]中的数对调,次最小数和arr[1]中的数对调。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdio.h> #include<conio.h> #include<stdio.h> #define M 20 void proc(int *arr, int n) { int i, m, t, k; //****found**** for(i=0; i<n; i++) { m=i; for(k=i; k<n; k++) if(arr[k]<arr[m]) //****found**** k=m; t=arr[i]; arr[i]=arr[m]; arr[m]=t; } } void main() { int b[M]={11, 5, 12, 0, 3, 6, 9, 7, 10, 8}, n=10, i; system("CLS"); for(i=0; i<n; i++) printf("%d", b[i]); printf("/n"); proc(b, n); for(i=0; i<n; i++) printf("%d", b[i]); printf("/n"); }
进入题库练习
问答题下列给定程序中,函数proc()的功能是:应用递归算法求某数a的平方根。求平方根的迭代公式如下: x1=(x0+a/x0)/2 例如,3的平方根为1.732051。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<math.h> #include<stdio.h> //****found**** proc(double a, double x0) { double x1, y; x1=(x0+a/x0)/2.0; //****found**** if(fabs(x1-x0)>0.00001) y=proc(a, x1); else y=x1; return y; } void main() { double s; printf("Enter s:"); scanf("%1f", printf("The square root of %1f is %1f/n", s, proc(s, 1.0)); }
进入题库练习
问答题下列给定程序中,函数fun的功能是:将n个无序整数从小到大排序。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<conio.h>#include<stdio.h>#include<stdlib.h>fun(int n,int*a){ int i,j,p,t; for(j=0,j<n-1;j++) { p=j;/*********found*********/ for(i=j+1;i<n-1;i++) if(a[p]>a[i])/*********found*********/ t=i ; if(p!=j) {t=a[j];a[j]=a[p];a[p]=t;} }}putarr(int n,int*z){ int i; for(i=1;i<=n;i++,z++) { printf("%4 d",*z); if(!(i%10))printf("\n"); } printf("\n”);}void main(){ int aa[20]={9,3,0,4,1,2,5,6,8,1 0,7),n=11; system("CLS"); printf("\nBefore sortirig%d numbers:\n",n); putarr(n,aa); fun(n,aa); printf("\nAfter sorting%d numbers:\n",n); putarr(n,aa);}
进入题库练习
问答题给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include #include typedef struct aa {int data; struct aa *next; }N0DE; int fun(NODE *h) { int sum = 0 ; NODE *p; /**********found**********/ P=h; while(p) { if(p->data%2==0) sum +=p->data; /**********found*** *******/ p=h->next; } return sum; } NODE *creatlink(int n) {NODE *h, *p, *s; int i; h=p=(NODE *)malloc(sizeof(NODE)); for(i=l; idata=rand() %16; s->next=p->next; p->next=s; p=p->next; } p->next=NULL; return h; } outlink(NODE *h, FILE *pf) {NODE *p; p = h->next; fprintf(pf ,"/n/nTHE LIST :/n/n HEAD ") ; while(p) { fprintf (pf ,"->%d ",p->data) ; p=p->next;} fprintf (pf,"/n"); } outresult(int s, FILE *pf) { fprintf (pf, "/nThe sum of even numbers : %d/n",s);} main () {NODE *head; int even; head=creatlink(12); head->data=9000; outlink(head , stdout); even=fun(head); printf("/nThe result :/n"); outresult(even, stdout); }
进入题库练习
问答题函数fun的功能是:计算直到。若x=2.5,函数值为:1.917915。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!1#include<stdio.h>2#include<math.h>3doublefun(doublex)4{doublef,t;intn;5f=1.0+x;6/**********found**********/7t=__1___;8n=1;9do{10n++;11/**********found**********/12t*=(-1.0)*x/__2__;13f+=t;14}15/**********found**********/16while(__3__>=le-6);17returnf;18}19main()20{doublex,y;21x=2.5;22y=fun(x);23printf(''\nTheresultis:\n'');24printf(''x=%-12.6fy=%-12.6f\n'',x,y);25}
进入题库练习
问答题假定整数数列中的数不重复,并存放在数组中。下列给定程序中函数fun的功能是:删除数列中值为X的元素,变量n中存放数列中元素的个数。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdio.h >#define N 2 0fun(int*a,int n,int x){ int P=0,i; a[n]=x; while(x!=a[P]) p=p+1; /*********found*********/ if(p==n) return一1; else { for(i=P;i < n;i++)/*********found*********/ a[i+1]=a[i]; return n—1; } } void main() { 2nt w[N]={一3,0,1,5,7,99,1 0,1 5,3 0,90},x,n,i; n=10; printf("The original data:/n"); for(i=0;i < 13;i++) printf("%5 d",w[i]); printf("/nInput x(to delete):"); Scanf("%d",&x); printf("Delete:%d/n",x); n=fun(w,n,x); if(n==一1) printf("***No be found!***/n/n"); else { printf("The data afterdeleted:/n"); for(i:0;i < n ; i++) printf("%5d",w[i]); printf("/n/n"); }}
进入题库练习
问答题改错题 下列给定程序中函数fun()的功能是计算正整数num的各位上的数字之平方和。 例如:输入352,则输出应该是38;若输入328,则输出应该是77。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include long fun(long num) { /**********************found***********************/ long k=1; do { k+=(num%10)*(num%10); num/=10; /**********************found***********************/ }while(num) return (k); } main() { long n; clrscr(); printf("/Please enter a number:"); scanf("%ld", printf("/n%ld/n",fun(n)); }
进入题库练习
问答题下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源文件名放在变量8fname中,目标文件名放在变量tfname中。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! 试题程序:#include<stdio.h>#include<stdlib.h>int fun(char*source,char*target){ FILE*s,*ft;char eh;/******found******/if((fs=fopen(80uree,__1__))==NULL) retum 0; if((ft=fopen(target,“w”))==NULL) retum 0; printf(“\nThe data in file:\n”); eh=fgetc(fs);/******found******/while(!feof(___2___)){ putchar(eh);/******found******/ fputc(ch,___3___); ch=fgetc(fs); } fclose(fs);fclose(ft); prinff(“\n”); return 1;}main(){char sfname[20]=“myfilel”,tfname[20]=“myfile2”: FILE*myf;int i;char c; myf=fopen(sfname,“w”); prinff(“\nThe 9riginal data:\n”); for(i=1;i<30;i++) { c=‘A’+rand()%25; fprinff(myf,“%e”,c); prinff(“%c”,c);;;fclose(myf);prinff(“\n\n”);if(fun(sfname,tfname)) prinff(“Succeed!”); else prinff(“Fail!”);}
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:根据以下公式求π值,并作为函数值返回。 例如,给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。 π 1 1 2 1 2 3 1 2 3 4 ─=1+ ─ + ─×─ + ─×─×─ + ─×─×─×─+…… 2 3 3 5 3 5 7 3 5 7 9 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 给定源程序: #include #include double fun(double eps) { double s,t; int n=1; s=0.0; /************found************/ t=0; while( t>eps) { s+=t; t=t * n/(2*n+1); n++; } /************found************/ return(s); } main() { double x; printf("/nPlease enter a precision: "); scanf("%lf", printf("/neps=%lf, Pi=%lf/n/n",x,fun(x)); }
进入题库练习
问答题学生的记录由学号和成绩组成,N名学生的数据己在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 #define N 83 typedef struct4 { char num[10];5 double s;6 } STREC;7 double fun(STREC *a,STREC *b,int*n)8 {9 }10 main()11 {STREC s[N]={{''GA05'',85},{''CA03'',76},{''CA02'',69},{''GA04'',85},{''GA01'',91},{''GA07'',72},{''GA08'',64},{''GA06'',87}};12 STREC h[N],t;FILE *out;13 int i,j,n;double ave;14 ave=fun(s,h,&n);15 printf(''The%d student data which is lower than%7.3f:\n'',n,ave);16 for(i=0;i<n;i++)17 printf(''%s %4.1f\n'',h[i].num, h[i].s);18 printf(''\n'');19 out=fopen(''out.dat'',''w'');20 printf(out,''%d\n%7.3f\n'',n,ave);21 for(i=0; i<n-1;i++)22 for(j=i+1;j<n;j++)23 if(h[i].s>h[j].s){t=h[i]; h[i]=h[j];h[j]=t;}24 for(i=0;i<n;i++)25 fprintf(out,''%4.1f\n'',h[i].s);26 fclose(out);}
进入题库练习
问答题下列给定程序中,函数fun的功能是:根据整形参m的值,计算如下公式的值。例如,若m中的值为5,则应输出0.536389。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件IODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>doublefun(intm){doubley=1.0;inti;/*********found*********/for(i=2;i<m;i++)/*********found*********/y一=1/(i*i);return(y);}main(){intn=5;printf("/nTheresultis%lf/n",fun(r1));}
进入题库练习
问答题函数fun的功能是: 将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是: 将a数的十位和个位数依次放在c数的个位和百位上, b数的十位和个位数依次放在c数的十位和千位上。 例如, 当a=45, b=12时, 调用该函数后, c=2514。 注意: 部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include 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); NONO(); }
进入题库练习
问答题N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,它的功能是:找出学生的最高分,由函数值返回。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include<stdio.h> #include<stdlib.h> #define N 8 struet 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(i<N) {q=(STREC*)malloc(sizeof(STREC)); q->s=s[i];i++;p->next=q;p=q; } p->next=0; return h; } void 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); }
进入题库练习
问答题请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijing shanghai(为回车键),函数将返回shanghai。 注意:部分源程序存在文件PROG1.C中。 请勿改动主函数maln和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include char *fun (char *s,char *t) { } main() {char a[20],b[20]; void NONO (); printf ("Input 1th string:"); gets (a); printf ("Input 2th string:"); gets (b); printf ("%s/n",fun (a, b)); NONO (); } void NONO () {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp,*wf ; int i ; char a[20],b[20] ; fp= fopen("in.dat","r"); wf= fopen ("out.dat"f "w"); for(i = 0 ; i < 10 ,i++) { fscanf (fp, "%s %s", a, b); fprintf (wf, "%s/n", fun (a,b)); } fclose( fp); fclose (wf); }
进入题库练习
问答题给定程序中,函数fun的功能是用函数指针指向要调用的函数,并进行调用。规定在2 处使fa指向函数n,在 3处使fb指向函数f2。当调用正确时,程序输出: x1=5 .000000.x2=3. 000000。x1*x1+x1*x2=40.000000 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANKl.C中。 不得增行或删行,也不得更改程序的结构! #inolude double f1(double x) { retuEn x*x;) double f2(double x,double y) { return x*y;) double fun(double a,double b) { /**********found**********/ _____1_____ (*f)(), doub2e r1,r2; /**********found**********/ f= _____2_____ ;/*point fountion f1*/ r1 =f(a); /**********found**********/ f= _____ 3_____ ;/*point fountion f2*/ r2=(*f)(a,b); return r1+r2; } main() {double xi=5,x2=3,r; r=fun(x1,x2); printf("/nxl=%f,x2=%f,x1*x1+ x1*x2=%f/r1",x1,x2,r); }
进入题库练习
问答题学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数proc(),它的功能是:把分数最低的学生数据放在h所指的数组中。注意:分数低的学生可能不止一个。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序: #include<stdio.h> #define M 16 typedef struct { char num[10]; int s; } STREC; int proc(STREC*a, STREC*b) { } void main() { STREC stu[M]={{"GA005", 82}, {"GA003", 75}, {"GA002", 85}, {"GA004", 78}, {"GA001", 95}, {"GA007", 62}, {"GA008", 60}, {"GA006", 85}, {"GA015", 83}, {"GA013", 94}, {"GA012", 78}, {"GA014", 97}, {"GA011", 60}, {"GA017", 65}, {"GA018", 60}, {"GA016", 74}}; STREC h[M]; int i, n; n=proc(stu, h); printf("The %d lowest score: /n", n); for(i=0; i<n; i++) printf("%s%4d/n", h[i].num, h[i].s); //输出最低分学生的学号和成绩 printf("/n"); }
进入题库练习