计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题请编写一个函数proc(),它的功能是计算并输出给定整数n的所有因子(不包括1与自身)的平方和(规定n的值不大于100)。 例如,主函数从键盘输入n的值为50,则输出为sum=754。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序: #include<stdio.h> long proc(int n) { } void main() { int n; long sum; printf("Input n:"); scanf("%d", sum=proc(n); printf("sum=%1d/n",sum); }
进入题库练习
问答题由N个有序整数组成的数列已放在一维数组中,下列给定程序中函数fun的功能是:利用折半查找法查找整数m在数组中的位置。若找到,返回其下标值;否则,返回一1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围low和high(low<high),然后用m与中间位置(mid)上元素的值进行比较。如果m的值大于中间位置元素的值,则下一次的查找范围落在中间位置之后的元素中;反之,下一次的查找范围落在中间位置之前的元素中。直到low>high,查找结束。 请改正程序中的错误,使它能得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! 试题程序:#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; prinff(”1t数组中的数据如下:”); for(i=0;i<N;i++) printf(“%d”,a[i]);printf(“Enter m:”);seanf(“%d”,&m);k=fun(a,m);if(k>=0) prinff(“m=%d,index=%d\n”,m,k); else prinff(“Not be found!\n”);}
进入题库练习
问答题下列给定程序中,函数fun()的功能是:在字符串的最前端加入n个*号,形成新串,并且覆盖原串。 注意:字符串的长度最长允许79。 请改正函数fun()中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序; #include <stdio.h> #include <strzng.h> #include <conio.h> /*****************found***************/ void fun(char s[], int n) { char a[80],*p; int i; /*****************found***************/ s=p; for(i=0; i<n; i++) a[i]='*'; do {a[i]=*p; /*****************found***************/ i++; }while(*p); a[i]=0; strcpy(s,a); } main() { int n;char s[80]; clrscr(); printf("/nEnter a string:");gets(s); printf("/nThe string/%s/n",s); printf("/nEnter n(number of*):");scanf ("%d", fun(s,n); printf("/nThe string after inster: /%s/n",s); }
进入题库练习
问答题给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #include<string.h> #define N 5 #define M 8 void fun(char(*ss)[M]) { char*ps[N],*tp;int i,j,k; for(i=0;i<N;i++) ps[i]=ss[i]; for(i=0 ;i<N一1;i++){ /*********found*********/ k= 【1】 ; for(j=i+1;j<N; j++) /*********found*********/ if(strlen(ps[k])<strlen ( 【2】 ))k=j; /*********found*********/ tp=ps[i]; ps[i]=ps[k]; ps[k]= 【3】 ; } printf("\nThe string after sorting by length:\n\n"); for(i=0;i<N;i++)puts(ps[i]); } main() {char ch[N][M]={"red","green","blue","yellow","black"); int i; printf("\nThe original string\n\n"); for(i=0;i<N;i++) puts(ch[i]);printf("\n'); fun(ch); }
进入题库练习
问答题编写函数fun(),其功能是将放在字符数组中的M个字符串(每串的长度不超过N)按顺序合并组成一个新的字符串。 例如,字符数组中的M个字符串如下: AAAA BBBBBBB CC 则合并后的字符串的内容应是: AAAABBBBBBBCC。 提示:strcat(a,b)的功能是将字符串b复制到字符串a的尾部,成为一个新串。 #include<stdio.h> #include<string.h> #define M 3 #define N 20 void fun(char a[M][N],char *b) main() char w[M][N]="AAAA","BBBBBBB", "CC",a[100]; im i;void NONO(); printf("The string:/a"); for(i=0;i<M;i++)puts(w[i]); printf("/n"); fun(w,a); printf("The A string:/a"); printf("%s",a);printf("/a/a");
进入题库练习
问答题(补充每对/**/之间的程序段,完成题目的要求)
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:求出字符串中最后一次出现的子符串的地址,通过函数值返回,在主函数中输入从此地址开始的字符串;若未找到,则函数值为 MULL。例如,当字符串中的内容为:"abcdabfcdx",t中的内容为:"ab"时,输出结果应是 abfacdx,当字符串中的内容为:"abcdabfabcdx",t中的内容为:"abd"时,则程序的输出信息: not be found! #include <conio.h> #include <stdio.h> #include <string.h> char*fun(char*s,char*t) { char*p,*r,*a; /************found************/ a=Null; while(*s) { p=s;r=t; while(*r) /************found************/ if(r==p) {r++;p++;} else break; if(*r=='/0,)a=s; s++; } return a; } main() { char s[100],t[100],*p; clrscr(); printf("/nPlease enter string S:"); scanf("%s"s); printf("/nPlease enter substring t:"); scanf("%s",t); p=fun(s,t); if(p)printf("/nThe result is:%s/n",p); else printf("/nNot found !/n"); }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容。 例如,若字符串为abcd,则应输出:dcba。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include /*********** found* ***********/ fun (char a) { if (*a) { fun(a+1); /*********** found* ***********/ printf("%c" *a) ; } } main () { char s[10]="abcd"; printf ("处理前字符串=%s\n处理后 字符串=", s); fun(s); printf ("/n"); }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串。 例如,若主函数中a字符串为:aBCDeFgH,主函数中b字符串为:ABcd,则c中的字符串应为:aBcdeFgH。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include #include void fun(char *p,char *q,char *c) { int k= 1; while (*p != *q ) else c [k]=*p; k++; }} main () { char a [10]="aBCDeFgH", fun (a,b,c) ; printf ("The string a: ") ; puts (a) ; printf ("The string b:") ; puts (b) ; printf ("The result: ") ; puts (c) ; }
进入题库练习
问答题编写函数fun,其功能是:利用下面的简单迭代方法求方程cos(x)-x=0的一个实根。 xn+1=cos(xn) 迭代步骤如下: (1)取x1初值为0.0; (2)x0=x1,将x1的值赋给x0; (3)x1=cos(x0),求出一个新的x1; (4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2); (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。 程序将输出结果Root=0739086。 注意:部分源程序给出如下。 请勿改动主函数数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<conio.h> #include<math.h> #include<scdio.h> double fun() { } main() { double f=fun(); printf("Root=%f/n",f); }
进入题库练习
问答题给定程序中,函数fun的功能是将不带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #define N 5 typedef struct node { int data; struct node *next; } NODE; /**********found**********/ __1__ * fun(NODE *h) { NODE *p, *q, *r; p = h; if (p == NULL) return NULL; q = p->next; p->next = NULL; while (q) { /**********found**********/ r = q->__2__; q->next = p; p = q; /**********found**********/ q = __3__ ; } return p; } NODE *creatlist(int a[]) { NODE *h,*p,*q; int i; h=NULL; for(i=0; i { q=(NODE *)malloc(sizeof(NODE)); q->data=a[i]; q->next = NULL; if (h == NULL) h = p = q; else { p->next = q; p = q; } } return h; } void outlist(NODE *h) { NODE *p; p=h; 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); head=fun(head); printf("/nThe list after inverting :/n"); outlist(head); }
进入题库练习
问答题下列给定程序中,函数fun的功能是:根据以下公式求兀值,并作为函数值返回。 例如,当给指定精度的变量eps输入0.0005时,应输出Pi=3.140578。 π/2=1+1/3+1/3×2/5+1/3×2/5×3/7+1/3×2/5×3/7×4/9+…… 请改正程序中的错误,使它能得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! #include<math.h> #include<stdio.h> 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("Please enter a precision:"); scanf("%1f",&x); printf("\neps=%1f,Pi=%1f\n",x,fun(x)); }
进入题库练习
问答题编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。 例如.分别输入下面两个字符串: “FirstString--” “SecondString” 程序输出: “FirstString--SecondString” 注意:部分源程序已给出。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<stdlib.h> #include<stdio.h> #include<conio.h> void fun(char p1[],char p2[]) int i,j; for(i=0;p1[i]!='/0';i++);/*求出i为p1字符串的总长度,包括结束标记符*/ for(j=0;p2[j]!='/0';j++) p1[i++]=p2[j];/*将p2字符串连在p1字符串后面*/ p1[i]='/0';/*在字符串最后加上结束标记符*/ void main() char s1[80],s2[40]; system("CLS"): printf("Enter s1 and s2:/n"); scanf("%s%s",s1,s2); printf("s1=%s/n",s1); printf("s2=%s/n",s2); printf("Invoke fun(s1,s2):n"); fun(s1,s2); printf("After invoking:n"); printf("%s/n",s1);
进入题库练习
问答题函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。 合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。 例如,当a=45,b=12时,调用该函数后,c=5142。 注意:部分源程序存在文件PROG1.C中。数据文件in.dat中的数据不得修改。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#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) ;NONO(); } void NONO (){/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */FILE *rf, *wf ;int i, a,b ; long c ;rf = fopen("in.dat", "r");wf = fopen("out.dat","w");for(i = 0 ; i < 10 ; i++) {fscanf(rf, "%d,%d", fun (a, b, fprintf(wf, "a=%d,b=%d,c=%ld/n", a, b, c);}fclose(rf); fclose(wf); }
进入题库练习
问答题下列给定程序中,函数fun的功能是:比较两个字符串,将长的字符串的首地址作为函数值返回。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODIl,C中,不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include < conio.h > #include < stdio .h >/*********found*********/ double fun (char* s,char *t) { int s1 =0,t1 =0; char * ss, * tt; ss=s; tt = t; while ( *ss ) { while ( *tt) { t1++; if (t1 > s1) return t;else return s;}void main () { char a[80],b[80] ; printf ("/nEnter a string : "); gets (a); printf ( " / nEnter a string a一 gets (b) ; printf "/nThe longer is : /n }
进入题库练习
问答题给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回,并将大于平均值的数放在形参Y所指数组中,在主函数中输出。 例如,有10个正数:46、30、32、40、6、17、45、15、48、26,其平均值为30.500000。 主函数中输出:46 32 40 45 48。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 试题程序: 1 #include<stdlib.h> 2 #include<stdio.h> 3 #define N 10 4 double fun(double x[],double*y) 5 {int i,j;double av; 6 /*********found*********/ 7 av= 【1】 ; 8 /*********found*********/ 9 for(i=0;i<N;i++) 10 av=av+ 【2】 ; 11 for(i=j=0;i<N;i++) 12 /*********found*********/ 13 if(x[i]>av)Y[ 【3】 ]=x[i]; 14 y[j]=-1; 15 return av; 16 } 17 main() 18 {int i;double x[N],y[N]; 19 for(i=0;i<N;i++) 20 {x[i]=rand()%50; 21 printf("%4.0 f",x[i])j) 22 printf("\n"); 23 printf("\nThe average is:%f\n",fun(x,y)); 24 for(i=0;Y[i]>=0;i++) 25 printf("%5.1 f",y[i]); 26 printf("\n"); 27 }
进入题库练习
问答题下列给定程序中,函数fun的功能是:计算如下公式前n项的和,并作为函数值返回。例如,当形参n的值为10时,函数返回值为9.612558。请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>doublefun(intn){inti;doubles,t;/*********found*********/s=【1】;/*********found*********/for(i=1;i<=【2】;i++){t=2.0*i;/*********found*********/s=s+(2.0*i一1)*(2.0*i+1)/【3】;}returns;}voidmain(){intn=-1;while(n<0){printf("Pleaseinput(n>0):");scanf("%d",&n);}printf("\nTheresultis:%f\n",fun(n));}
进入题库练习
问答题下列给定程序中函数fun的功能是:统计substr所指的字符串在str所指的字符串中出现的次数。例如,若字符串为aaas lkaaas,子字符串为as,则应输出2。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>int fun(char*str,char*substr){ int i,J,k,num=0;/*********found*********/ for(i=0,str[i],i++) for(j=i,k=0;substr[k]==str[j];k++,J++)/*********found*********/ If(substr[k+1]=='\0') { num++; break; } return num; } main() { char str[80],substr[80]; printf("Input a string:"); gets(str); printf("Input a substring:"); gets(substr); printf("%d\n",fun(str,substr));}
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 源程序如下: #include <stdio.h> void fun(char *s) { int i,j; for(i=0,j=0; sill!='/0'; i++) if(s[i]>='0' / ********** found ********** / s[j] =" /0"; main( ) char item[80]; printf(" /nEnter a string : " ) ;gets(item); printf(" /n/nThe string is : "%s" /n" ,item); fun( item ); printf( " /n/nThe string of changing is : " % s" /n" ,item ); }
进入题库练习
问答题N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun(),它的功能是:找出学生的最低分,由函数值返回。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include <stdio.h> #include <stdlib.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*)malloc(sizeof(STREC)); p->S=0; while(i<N) /*产生8个节点的链表,各分数存入链表中*/ q=(STREC*) malloc(sizeOf(STREC)); p->S=S[i]; i++; p->next=q; p=q; p->next=NULL; return h; /*返回链表的首地址*/ outlist(STREC *h) STREC *p; p=h; printf("head"); do printf("->%2.of ",p->s);p=p->next; /*输/出各分数*/ while(p!=NULL); printf("/n/n "); main() double s[N]=56,89,76,95,91,68,75, 85,min; STREC *h; h=creat(s); outlist(h); min=fun(h); printf("min=%6.If/n ",min);
进入题库练习