计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。 例如,若输入“abc4EFg”,则应输出“aBc4EFg”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<stdlib.h> #include<conio.h> #include<stdio.h> #include<string.h> void fun(char*ss) { } void main() { char tt[81]; system("CLS"); printf("/nPlease enter an string within 80 characters:/n"); gets(tt); printf("/n/nAfter changing,the string/n%s",tt); fun(tt); printf("/nbecomes/n%s/n",tt); }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。 例如,当字符串中的内容为:"abcdabfabcdx",t中的内容为:"ab"时, 输出结果应是:abcdx。 当字符串中的内容为:"abcdabfabcdx",t中的内容为:"abd"时,则程序输出未找到信息:not be found!。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include 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; 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的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。 例如,输入的数为:55 12 34,输出结果应当是:a=55.0,b=34.0,c=12.0。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。1 #include<stdio.h>2 void fun(float *a,float *b,float * c)3 {4 /**********found**********/5 float *k;6 if(*a<*b)7 { k=*a; *a=*b; *b=k;}8 /**********found**********/9 if(*a>*c)10 { k=*c; *c=*a; *a=k,}11 if(*b<*c)12 { k=*b;*b=*c;*c=k;}13 }14 main()15 { float a,b,c;16 printf(''Input a b c:''); scanf(''%f%f%f'',&a,&b,&c);17 printf(''a=%4.1f,b=%4.1f, c=%4.1f\n\n'',a,b,c);18 fun(&a,&b,&c);19 printf(''a=%4.1f,b=%4.1f, c=%4.1f\n\n'',a,b,c);20 }
进入题库练习
问答题规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。 注意:部分源程序给出如下。 请勿改动主函数mam和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include <stdio.h> #include <conio.h> void fun (char *a) void main() char s[81]; printf("Enter a string:/n"); gets(s); fun(s); printf("The string after deleted:/n"); puts(s);
进入题库练习
问答题假定输入的字符串中只包含字母和*号。请编写函数 fun(),它的功能是:除了尾部的,:号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言的字符串函数。 例如,若字符串中的内容为****A*BC*DEF*G******,删除后,字符串中的内容应当是ABCDEFG******。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<conio. h> #include<stdio. h> void fun(char *a, char *p) { } 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,函数的功能是:移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(含p,p小于等于n-1)的数组元素平移到数组的最后。 例如,一维数组中的原始内容为:1,2,3,4,5,6,7,8,9,10;p的值为3。移动后,一维数组中的内容应为:5,6,7,8,9,10,1,2,3,4。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include<stdio.h> #define N 80 void fun(int*w,int p,int n) { } main() {int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; int i,p,n=15; printf("The original data:/n"); for(i=0;i<n;i++)printf("%3d",a[i]); printf("/n/nEnter p:");scanf("%d", fun(a,p,n); printf("/nThe data after moving:/n"); for(i=0;i<n;i++)printf("%3d",a[i]); printf("/n/n"); }
进入题库练习
问答题给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #include<stdlib.h>3 typedef struct aa4 {int data; struct aa *next;} NODE;5 int fun(NODE *h)6 { int sum=0;7 NODE *p;8 /**********found**********/9 p=h;10 while(p)11 { if(p->data%2==0)12 sum+=p->data;13 /**********found**********/14 p=h->next;15 }16 return sum;17 }18 NODE *creatlink(int n)19 (NODE *h,*p,*s;20 int i;21 h=p=(NODE*)malloc(sizeof(NODE));22 for(i=1;i<=n;i++)23 {s=(NODE *)malloc(sizeof(NODE));24 s->data=rand()%16;25 s->next=p->next;26 p->next=s;27 p=p->next;28 }29 p->next=NULL;30 return h;31 }32 outlink(NODE *h,FILE *pf)33 {NODE *p;34 p=h->next;35 fprintf(Pf,''in\nTHE LIST:in\n HEAD'');36 while(p)37 {fprintf(pf,''->%d'',p->data); p=p->next;}38 fprintf(pf,''in'');39 }40 outresult(int s,FILE *pf)41 { fprintf(pf,''\nThe sum of even numbers:%d\n'',s);}42 main()43 { NODE *head;int even;44 head=creatlink(12);45 head->data=9000;46 outlink(head,stdout);47 even=fun(head);48 printf(''\nThe result:in''); outresult(even,stdout);49 }
进入题库练习
问答题下列给定的程序中,函数proc()的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为600,则函数的值为5671。请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdio.h> #include<conio.h> #include<stdlib.h> int proc(int k) {int m=0, mc=0, j; while((k>=2) mc++; } k--; //****found**** return m; } void main() { system("CLS"); printf("%d/n", proc(600)); }
进入题库练习
问答题下列给定的程序中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数的值为4622。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#nelude<stdio.h>#include<conio.h>#include<stdlib.h>int fun(int k){ int m=0,mc=0,j; while((k>=2)&&(me<10)) {/******found******/ if((k%13=0)‖(k%17=0)) {m=m+k;mc++;} k一一;/******found******/ return m; }void main(){prinff(“%d\n”,fun(500));}
进入题库练习
问答题N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。 例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #include #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(is=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.If",p->s);p=p-> next;} while(p!=0); printf("/n/n")/ } main () {double s[N] = {85,76,69,85,91, 72, 64,87 },ave; void NONO (); STREC *h; h=creat(s); outlist(h); ave=fun(h); printf("ave= %6.3f/n",ave); NONO(); } void NONO() {/*本函数用于打开文件,输入数据, 调用函数,输出数据,关闭文件。*/ FILE *in, *out ; int i,j ; double s[N],ave; STREC *h ; in = fopen("in.dat","r"); out = fopen("out.dat","w"); for(i = 0 ; i < 10 ; i++) { for(j=0 ; j < N; j++) fscanf(in, "%lf,", h=creat(s); ave=fun(h); fprintf(out, "%6.31f/n", ave) ; } fclose(in); fclose(out); }
进入题库练习
问答题请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。 例如,输入如下整数: 876 675 896 101 301 401 980 431 451 777 则输出结果为:6,980 注意:部分源程序在文件PROG1.C文件中。 请勿改动主函数maln和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include void fun (int *s, int t, int *k) { } main() { int a[10]={876,675f 896,101,301, 401,980,431,451,777},k;void NONO(); fun (a, 10, &k); printf("%d, %d/n", k, a[k]); NONO(); } void NONO () {/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/ int a[10], i,k,j ; FILE *rf, *wf ; rf= fopen "in.dat","r"); wf=fopen ("out.dat","w"); for(i = 0 ; i < 10 ; i++) { for(j=0 ; j <10 ; j++) fscanf (rf, "%d",&a[j]); fun (a, 10, &k); fprintf (wf, "%d,%d/n",k,a[k]); } fclose (rf); fclose (wf); }
进入题库练习
问答题已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。 注意:部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 #include<string.h>3 #define N 104 typedef struct ss5 { char num[10]; int s;) STU;6 void fun(STU a[],STU *s)7 {8 }9 main()10 {STU a[N]={{''A01'',81},{''A02”,89},{''A03'',66},{''A04'',87},{''A05'',77},{''A06'',90},{''A07'',79},{''A08'',61},{''A09'',80},{''A10'',71}},m;11 int i;void NONO();12 printf(''***** The original data *****\n'');13 for(i=0;i<N;i++)printf(''No=%s Mark=%d\n'',a[i].num,a[i].s);14 fun(a,18 }19 void NONO()20 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */21 FILE *rf,*wf;22 STU a[N],m;23 int i;24 rf=fopen(''in.dat'',''r'');25 wf=fopen(''out.dat'',''w'');26 for(i=0;i<10;i++)fscanf(rf,''%s %d'',a[i].mum,&a[i].s);27 fun(a,&m);28 fprintf(wf,''The lowest:%s,%d\n'',m.num,m.s);29 fclose(rf);30 fclose(wf);}
进入题库练习
问答题给定程序modi1.c的主函数中,将a、b、c三个结点链成一个单向链表,并给各结点的数据域赋值,函数fun()的作用是:累加链表结点数据域中的数据作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。1 #include<stdio.h>2 typedef struct list3 { int data;4 struct list *next;5 }LIST;6 int fun(LIST *h)7 {LIST *p;8 /**********found**********/9 int t;10 p=h;11 /**********found**********/12 while(*p) }13 {14 /**********found**********/15 t=t+p.data;16 p=(*p).next;17 }18 return t;19 }20 main()21 { LIST a,b,c,*h;22 a.data=34;b.data=51;23 c.data=87;c.next='\0';24 h=&a;a.next=&b;b.next=&c;25 printf(''总和=%d\n'',fun(h));26 }
进入题库练习
问答题函数fun的功能是将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。 例如,若S所指字符串中的内容为“ABCDEFG12345”,其中,字符A的ASCII码值虽为奇数,但所在元素的下标为偶数,因此必需删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是“135”。 注意:部分源程序存在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。 给定源程序如下。 #include<stdio.h> #include<string.h> void fun(char*s,char t[]) { } main() { char s[100],t[100]; printf("/nPlease enter string S:"): scanf("%s",s); fun(s,t); printf("/nThe result is:%s/n",t); }
进入题库练习
问答题给定程序中,函数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; ____1____ fun(NODE *h) {NODE *p,*q,*r; p =h; if (p == NULL) return NULL; q = p—>next; p—>next = NULL; while (q) { r = q—>____2____ ; q—>next = p; p = q; q = ____3____ ; } return p; } NODE *creatlist (int a [ ] ) {NODE *h,*p,*q; int i; h=NULL; { q= (NODE *) malloc (sizeof (NODE)) ; q—>data=a [i] ; q—>next = NULL; if (h == NULL) h= p = q; else {p—>next = qf p = q; } return h; } void outlist (NODE *h) {NODE *p; p=h; if (p==NULL) printf("The list is else { printf ("/nHead ") ; cio { 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) ; }
进入题库练习
问答题已知一个数列从0项开始的前3项:0、0、1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数fun的功能是:计算并输出该数列前n项的平方根之和sum。n的值通过形参传入。 例如,当n= 10时,程序的输出结果应为23. 197745。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1,C中,不要改动mam函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdlib.h > #include < conio.h >#include < stdio.h >#include < math.h >/*********found*********/fun(int n){double sum |s0|s1, s2,s; int k; sum=1.0; if(r1 < =2)sum=0.0; s0=0.0;s1=0.0;s2=1.0; for(k=4;k < =n;k++) {s=s0+s1+s2; sum+=sqrt(s); s0=s1;s1=s2;s2=s; }/*********found*********/ return sum}void main(){int n; system("CLS"); printf("Input N="); scar1f("%d",&n); printf("%f/n",fun(n));}
进入题库练习
问答题下列给定程序中函数fun的功能是:根据整型形参m,计算如下公式的值:例如,若m的值为5,则应输出1.463611。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<conio.h>#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(n));}
进入题库练习
问答题请编写函数tim,函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中。 例如,二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 55 55 则一维数组中的内容应是:33 44 55 33 44 55 33 44 55 33 44 55。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include <stdio.h>void fun (int s [] [10] , int b[], int*n, int mm, int nn){}main (){int w[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}},i,j;int a[100]={0},n=0;void NONO ();printf("The matrix:/n");for(i=0; i<3; i++) {for(j=0/j<4;j++) printf("%3d", w[i][j]); printf("/n"); }fun(w,a,printf("The A array:/n"); for(i=0;i<n;i++) printf("%3d",a[i]);printf("/n/n") ;NONO();} void NONO (){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。 */FILE *rf, *wf ; int i, j, k ; int w[10][10],a[100],n=0,mm,nn; rf = fopen("in.dat","r"); wf = fopen("out.dat","w"); for(k = 0 ; k < 5 ; k++) { fscanf(rf, "%d %d", for(i = 0 ; i < mm ; i++) for (j = 0 ; j < nn ; j++) fscanf (rf, "%d", fun(w, a, for(i=0;i<n;i++) fprintf(wf,"%3d",a[i]); fprintf(wf,"/n");}fclose(rf); fclose(wf); }
进入题库练习
问答题下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MOD11.C中,不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<string.h>#define MAXLINE 20fun(char * pstr[6]){int i,j;char*P;for(i=0;i<5;i++){/**********found**********/for(j=i+1,j<6,j++){ if(strcmp(*(pstr+i),*(pstr+j))>0){p=*(pstr+i);/**********found**********/*(pstr+j)=*(pstr+i);*(pstr+j)=p;}}}}}void main( ){int i;char * pstr[6],str[6][MAXUNE];for(i=0;i<6;i++)pstr[i]=str[i];printf(''\nEnter 6 string(1 string at each line):\n'');for(i=0;i<6;i++) scartf(''%s'',pstr[i]);fun(pstr);printf(''The strings after sorting:\n'');for(i=0;i<6;i++)printf(''%s\n'',pstr[i]);}
进入题库练习
问答题下列给定程序中,函数fun的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[1]、a[2]……中,把奇数从数组中删除,偶数的个数通过函数值返回。 例如,若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除奇数后a所指数组中的数据为:4、2、6、8,返回值为4。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<scdio.h> #define N 9 int fun(int a[],int n) int i,j; j=0; for(i=0;i<n;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;i<N;i++) printf(%4d",b[i]); printf("/n"); n=fun(b,N); printf("/nThe number of even:%d/n",n); printf("/nThe even:/n"); for(i=0;i<n;i++) printf("%4d",b[i]); printf("/n");
进入题库练习