计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题函数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中。不得增行或删行,也不得更改程序的结构! 给定源程序: #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; iprintf("/n"); n = fun(b, N); printf("/nThe number of even :%d/n", n); printf("/nThe even :/n"); for (i=0; iprintf("/n"); }
进入题库练习
问答题下列给定程序中,函数fun的功能是:根据以下公式求π值,并作为函数值返回。例如,当给指定精度的变量eps输入0.0005时,应输出Pi=3.140578。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<conio.h>#include<stdio.h>#include<math.h>doublefun(doubleeps){doubles,t;intn=1;s=0.0;/*********found*********/t=0;while(t>eps){s+=t;t=t*n/(2*n+1);n++;}/*********found*********/return(s);}voidmain(){doublex;print("\nPleaseenteraprecision:");scarlf("%lf",&x);printf("\nPi=%1f\n",fun(x));}
进入题库练习
问答题改错题 下列给定程序中,函数fun()的功能是计算并输出high以内的素数之和。high由主函数传给fun()函数。若high的值为100,则函数的值为1060。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include #include int fun(int high) { int sum=0,n=0, j, yes; while(high>=2) { yes = 1; for(j=2; j<=high/2; j++) /**********************found***********************/ ifhigh%j==0 { yes=0; break; } /**********************found***********************/ if(yes==0) { sum+=high; n++; } high--; } return sum; } main() { clrscr(); printf("%d/n",fun(100)); }
进入题库练习
问答题请指出以下C程序的错误所在: #include stdio, h; main(); / * main function * / float r, s; /*/*risradius*/,/* sis area of circular*/ */ r = 5.0; s = 3.14159 * r *r; printf ("%f /n", s )
进入题库练习
问答题给定程序MODI1. C中,函数fun的功能是判断整数n是否是“完数”。当一个数的因子之和恰好等于这个数本身时,就称这个数为“完数”。例如:6的因子包括1、2、3,而6=1+2+3,所以6是完数。如果是完数,函数返回值为1,否则函数返回值为0。数组a中存放的是找到的因子,变量k中存放的是因子的个数。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include <stdio. h> int fun(int n, int a[], int *k) {int m=0, i, t; t=n; /**********found**********/ for(i=0; i<n; i++) if(n%i==0) {a[m]=i; m++; t=t-i;) /**********found**********/ k=m; /**********found**********/ if(t=0) return 1; else return 0; } main( ) {int n, a[10], flag, i, k; printf("请输入一个整数: "); scanf("%d", flag=fun(n, a, if(flag) {printf("%d是完数,其因子是:", n); for(i=0; i<k; i++) printf("%d", a[i]); printf("/n"); } else printf("%d不是完数./n", n); }
进入题库练习
问答题由N个有序整数组成的数列己放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(lowhigh,查找结束。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include #define N 10 /*********** found*********** / void fun(int a[], int m) { int low=0,high=N-l,mid; while (low a[mid]) low=mid+l; 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=0) printf("m=%d,index=%d/n",m,k); else printf("Not be found!/n"); }
进入题库练习
问答题函数fun的功能是:把形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[1]中;再把a所指数组元素中的次大值放在a[2]中,把a数组元素中的次小值放在a[3]中;其余以此类推。例如:若a所指数组中的数据最初排列为:1、4、2、3、9、6、5、8、7,则按规则移动后,数据排列为:9、1、8、2、7、3、6、4、5。形参n中存放a所指数组中数据的个数。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #define N 93 /**********found**********/4 void fun(int___1___,int n)5 { int i,j,max,min,px,pn,t;6 /**********found**********/7 for(i=0;i<n-1;i+=__2__)8 { max=min=a[i];9 px=pn=i;10 /**********found**********/11 for(j=__3__;j<n;j++)12 { if(max<a[j])13 { max=a[j];px=j;)14 if(min>a[j])15 { min=a[j]; pn=j;}16 }17 if(px!=i)18 {t=a[i]; a[i]=max;a[px]=t;19 if(pn==i)pn=px;20 }21 if(pn!=i+1)22 {t=a[2+1];a[i+1]=min;a[pn]=t;}23 }24 }25 main()26 {int b[N]={1,4,2,3,9,6,5,8,7},i;27 printf(''\nThe original data:\n'');28 for(2=0;i<N;i++)printf(''%4d'',b[i]);29 printf(''\n'');30 fun(b,N);31 printf(''\nThe data after moving:\n'');32 for(2=0;i<N;i++)printf(''%4d'',b[i]);33 printf(''\n'');34 }
进入题库练习
问答题编写程序,实现矩阵(3行3列)的转置(即行列互换)。 例如,输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 100 400 700 200 500 800 300 600 900 注意:部分源程序存在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。 给定源程序如下。 #include<stdio.h> void fun(int array[3][3]) { } main() { int i,j; int array[3][3]={{100,200,300}, {400,500,600}, {700,800,900}}; for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%7d",amy[i][j]); printf("/n"); } fun(array); printf("Convened array:/n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%7d",array[i][j]); printf("/n"); } }
进入题库练习
问答题给定程序中,函数fun的功能是将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在 下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include <Stdio.h> #include <stdlib.h> #define N 5 typedef struct node{ int data; struct node *next; }NODE; void fun(NODE*h) {NODE*p, *q, *r; /**********found**********/ p=h->______; /**********found**********/ if(p==______)return; q=p->next; p->next=NULL; while(q) {r=q->next; q->next=p; /**********found**********/ p=q; q=______; } h->next=p; } NODE *creatlist(int a[]) {NODE *h, *p, *q; int i; h=(NODE*)malloc(sizeof(NODE)); h->next=NULL; for(i=0; i<N; i++) {q=(NODE*)malloc(sizeof(NODE)); q->data=a[i]; q->next=NULL; if(h->next==NULL)h->next=p=q; else{p->next=q; p=q;} } return h; } void outlist(NODE*h) {NODE*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"); } } main() {NODE*head; int a[N]={2,4,6,8,10}; head=creatlist(a); printf("/nThe original list:/n"); outlist(head); fun(head); printf("/nThe list after inverting:/n"); outlist(head); }
进入题库练习
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #define N 12 typedef struct { char num[10]; double s; } STREC; double fun(STREC *a, STREC *b, int *n) { } main () {STREC s[N]={{"GA05",85},{"GA03",76}, {"GA02",69},{"GA04",85}, {"GA01",91},{"GA07",72}, {"GA08",64},{"GA06",87}, {"GA09",60},{"GA11",79}, {"GA12",73}, {"GA10",90}}; STREC h[N], t;FILE *out ; int i,j,n; double ave; ave=fun(s,h, printf("The %d student data which is higher than %7. 3f:/n",n,ave); for(i=0;i
进入题库练习
问答题给定程序的主函数中,已给出由结构体构成的链表结点a、b、c,各结点的数据域中均存入字符,函数fun()的作用是:将a、b、c三个结点 链接成一个单向链表,并输出链表结点中的数据。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构! 试题程序: #include < stdio.h > typedef struct list { char data; struct list * next; } Q; void fun ( Q *pa, Q*pb, Q*pc) pa 一 > next= 【1】 ; pb 一 > next =pc; p =pa; while ( p ) { /*********found*********/ printf (" % c", 【2】 ) ; /*********found*********/ p= 【3】 ; } printf ("/n") ; main () {Qa,b,c; a.data = 'E'; b.data = 'F'; c.data = 'G'; c.next =NULL; fun(&a,&b,&c); }
进入题库练习
问答题请编写一个函数fun(),它的功能是:找出一维数组元素中最大的值和它所在的下标,最大值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。 主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<stdlib.h> #include<stdio.h> void fun(int a[],int n, int *max,int *d) main() int i, x[20], max, index, n=10; randomize(); for(i=0; i<=n; i++) x[i]=rand()%50; printf("%4d",x[i]); /*输出一个随机数组*/ printf("/n"); fun(x,n, printf("Max=%5d,Index=%4d/n",max,index);
进入题库练习
问答题N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:求出平均分,并由函数值返回。例如,若学生的成绩是:85,76,69,85,9l,72,64,87,则平均分应当是:78.625。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdlib.h>#include<stdio.h>#define N 8struct slist{ double s; struct slist *next;};typedef struct slist STREC;double fun(STREC木h){}STREC*treat(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; } outlist(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.3 f\n",ave);}
进入题库练习
问答题下列给定程序中函数fun的功能是:计算n!。例如,给n输入5,则输出120.000000。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>#include<conio.h>double fun(int n){ double result=1.0;/*********found*********/ if n==0 return 1.0 ; while(n>1&&n<170)/*********found*********/ result=n--; return result;}main(){ int n; printf("Input N:"); scanf("%d",&n); printf("\n\n%d!=%lf\n\n",n,fun(n));}
进入题库练习
问答题下列给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。 例如,s所指的字符串为“def35adh3kjsdf7”,执行后结果为“defadhkjsdf3537”。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stldio.h> void fun(char*s) ( inf j,j=O,k=O; char tl[80],t2[80]; for(i=0;s[i]!='/0';i++) if(s[i]>='O' /********found********/ (1) ; else tl[k++]=s[i]; t2[j]=O; t1[k]=O; for(i=O;i<k;i++) /********found********/ (2) ; /********found********/ for(i=0;i< (3) ;i++) s[k+i]=t2[i]; main() char s[80)="ba3a54j7sd567sdffs"; printf("/nThe original string is%s/n,s); fun(s); printf("/nThe restult is%s/n,s);
进入题库练习
问答题下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include < stdio.h > #include < stdlib.h > #define N 8 typedef struct list { int data; stEUCt liSt*next; }SLIST; void fun(SLIST*h,int x) { SLIST*p,*q,*s; s=(SLIST*)malloi(Sizeof (SLIST)); /*********found*********/ s一 >data= 【1】 ; q=h; P=h一 >next; while (p!=NULL&&x >p一 >data)( /*********found*********/ q= 【2】 ; p=p一 >next; } s一 >next=p; /*********found*********/ q一 >next= 【3】 ; } SLIST,lc creatlist(int*a) { SLIST*h,*p,*q;int i; h=p=(SLIST*)malloc(si— zeof(SLIST)); for(i=0;i < N;i++) {q=(SLIST*)malloc(sizeof(SLIST)); q一 >data=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("/nThe list is NULL!n"); else {printf("/nHead"); do{printf("一 >%d",p一 > data); p=p一 >next; }while(p!=NULL); printf("一 >End/n"); } } main() { SLIST*head; int x; int a[N]={11,12,15,18,19,22,25,29}; head=creatlist(a); printf("/nThe list before inserting:/n"); outlist(head); printf("/nEnter a number:"); scanf("%d",&x); fun(head,x); printf("/nThe list after inserting:/n"); outlist(head); }
进入题库练习
问答题请编写函数proc(),该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。 例如,若字符串数组中的M个字符串为: ABCD BCDEFG CDEFGHI 则合并后的字符串内容应该是ABCDBCDEFGCDEFGHI。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序: #include<stdio.h> #include<conio.h> #define M 3 #define N 20 void proc(char arr[M][N], char*b) { } void main() { char str[M][N]={"ABCD", "BCDEFG", "CDEFGHI"}, i; char arr[100]={"##################"}; printf("The string: /n"); for(i=0; i<M; i++) puts(str[i]); printf("/n"); proc(str,arr); printf("The A string: /n"); printf("%s", arr); printf("/n/n"); }
进入题库练习
问答题下列给定程序中,函数proc()的功能是:输出M行M列整数方阵,然后求两条对角线上的各元素之和并将其返回。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行。也不得更改程序的结构。 试题程序: #include<stdlib.h> #include<conio.h> #include<stdio.h> #define M 5 //****found**** int proc(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("%4f", 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 arr[M][M]={{1, 4, 3, 2, 4}, {4, 6, 2, 5, 0}, {3, 5, 2, 0, 1}, {7, 0, 5, 7, 3}, {5, 3.1, 9, 2}}; system("CLS"); printf("/nThe sum of all elements on 2 diagnals is%d", proc(M, arr)); }
进入题库练习
问答题已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。已给出函数的首部,请完成该函数。 注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<stdio.h> #include<string.h> #include<conio.h> #include<stdlib.h> #define N 10 typedef struct ss {char num[10]; int s; }STU; fun(STU a[],STU*s) { } void main() { FILE*wf; STU a[N]={{"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},{"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71}),m; int i; system("CLS"); printf("*****The originaldata*****/n"); for(i=0;i<N;i++) printf("No=%s Mark=%d/n",a[i].num,a[i].s); fun(a, printf("****THE RESULT****/n"); printf("The lowest :%s, %d/n",m.num,m.s); /******************/ wf=fopen("out.dat","w"); fprintf(wf,"%s,%d",m.num,m.s); fclose(wf); /******************/}
进入题库练习
问答题规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串中的前导*号全部移到字符串的尾部。 例如,字符串中的内容为“*******A*BC*DEF*G****”,移动后,字符串中的内容应当是“A*BC*DEEF*G***********”。在编写函数时,不得使用C语言提供的字符串函数。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<stdio.h> #include<conio.h> void fun(char*a) { } main() { char s[81], *p; char test[4][80]={"********A*BC*DEF*G****", "A******B*CD**EF*G*", "****A****G*", "*d**b**a**e*"}; int i; printf("Enter a string:/n"); gets(s); fun(s); printf("The string after moveing:/n"); puts(s); }
进入题库练习