计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include<stdio.h>void fun(int *px,int *py){/**********found**********/int 【1】 ;scanf("%d",&k);/**********found**********/while 【2】{if(k>0)a++; if(k<0)c++;/**********found**********/ 【3】 ;} *px=a;*py=c;}main(){int x,y; fun(&x,&y); printf("x=%d y=%d\n",x,y);}
进入题库练习
问答题给定程序中,函数fun的功能是将带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为: 10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 试题程序: #include < stdio.h > #include < stdlib.h > #define N 6 typedef struct node { int data; struct node * next; } NODE; void fun (NODE *h) { NODE *p, *q; int t; /*********found*********/ p= 【1】 ; while (p) { /*********found*********/ q= 【2】 ; while (q) { /*********found*********/ if (p 一 > data 【3】 q 一 > data) { t = p 一 >data; p 一 > data = q 一 > data; q 一 > data =t; } q = q 一 > next; } p = p 一 >next; } } NODE * creatlist (int a[]) { NODE *h, *p, *q; int if 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] = {0, 10, 4, 2, 8, 6 }; head = creatlist (a) ; printf ("/nThe original list:/n") ; outlist (head) ; fun (head) ; printf ( "/nThe list after soroutlist (head) ; }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 long fun(long num)3 {4 /**********found**********/5 long k;6 do7 { k*=num%10;8 /**********found**********/9 num\=10;10 }while(num);11 return(k);12 }13 main()14 {long n;15 printf(''\nPlease enter a number:'') scanf(''%1d'',&n);16 printf(''\n%1d\n'',fun(n);}
进入题库练习
问答题下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(inta[][N],intin),该函数的功能是使数组右上半三角元素中的值乘以m。例如,若m的值为2,a数组中的值为:则返回主程序后a数组中的值应为:注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:1#include<conio.h>2#include<stdio.h>3#include<stdlib.h>4#include<string.h>5#defitieN56voidfun(inta[][N],intm)7{89}10main()11{12inta[N][N],m,i,j;13FILE*out;14printf("***Thearray***\n");15for(i=0;i<N;i++)16{for(j=0;j<N;j++)17{a[i][j]=rand()%20;18printf("%4d",a[i][j]);19}20printf("\n");21}22m=rand()%4;23printf("m=%4d\n",m);24fun(a,m);25printf("THERESULT\n");26for(i=0;i<N;i++)27{for(j=0;j<N;j++)28printf("%4d",a[i][j]);29printf("\n");30}31/*********found*********/32out=fopen("out.dat","w");33for(i=0;i<N;i++)34for(j=0;j<N;j++)35a[i][j]=i*j;36fun(a,8);37for(i=0;i<N;i++)38{for(j=0;j<N;j++)39fprintf(out,"%4d",a[i][j]);40fprintf(out,"\n");41}42fclose(out);43/*********found*********/44}
进入题库练习
问答题请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0~9岁年龄段的人数放在d[0]中,把10~19岁年龄段的人数放在d[1]中,把20~29岁年龄段的人数放在d[2]中,依此类推,把100岁(含100岁)以上年龄的人数都放在d[10]中。结果在主函数中输出。注意:部分源程序在文件PROG1.C中。请勿改动mmn函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>#define N 50#define M 11void fun(int*a,int;*b){}double rnd(){ static t=29,c=217,m=1024,r=0; r=(r*t+c)%m; return((doubZe)r/m);}void main(){ FILE*wf; int age[N],i,d[M]; int b[N]={32,45,15,12,86,49,97,3,44,52,17,95,63}; for(i=0;i<N;i++) age[i]=(int)(115*rnd());/*产生一个随机的年龄数组*/ printf("The original data:\n"); for(i=0;i<N;i++) printf((i+1)%10==0?"%4d\n":"%4d",age[i]);/*每行输出10个数*/ printf("\n\n"); fun(age,d); for(i=0;i<10;i++) printf("%4d---%4d:%4d\n",i*10,i*10+9,d[i]); printf("Over 100:%4d\n",d[10]);/******************/ wf=fopen("out.dat","w"); fun(b,d); for(i=0;i<10;i++) fprintf(wf,"%4d--%4d:%4d\n",i*10,i*10+9,d[i]); fprintf(wf,"over 100:%4d",d[10]); fcloSe(wf);/******************/}
进入题库练习
问答题下列给定程序中,函数fun的功能是:将s所指字符串中位于奇数位置的字符或ASCII码值为偶数的字符依次放入t所指数组中。例如,字符串中的数据为“AABBCCDDEFFF”,则输出应当是“ABBCDDEFF”。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<conio.h>#include<stdio.h>#include<string.h>#define N 80void fun(char*s,char t[]){ int i,j=0; for(i=0;i<(int)strlen(s);i++)/*********found*********/ if(i%2&&s[i]%2==0) t[j++]=s[i];/*********found*********/ t[i]='\0';}main(){ char s[N],t[N]; printf("\nplease enther string s:"); gets(s); fun(s,t); printf("\nThe result is:%s\n",t);}
进入题库练习
问答题请编写函数fun,它的功能是:求出1到1000之间能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 void fun(int *a,int *n)3 {5 }6 main()7 { int aa[1000],n,k;8 void NONO();9 fun(aa,&n);10 for (k=0; k<n; k++)11 if((k+1)%10==0)printf(''\n'');12 else printf(''%5d'',aa[k]);13 NONO();}15 void NONO()16 {/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/17 int aa[1000],n,k;18 FILE *fp;19 fp=fopen(''out.dat'',''w'');20 fun(aa,&n);21 for(k=0;k<n;k++)22 if((k+1)%10==0)fprintf(fp,''\n'');23 else fprintf(fp,''%5d'',aa[k]);24 fclose(fp);}
进入题库练习
问答题给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。 例如,从主函数输入一个整数:27638496,函数返回值为:26846。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include unsigned long fun (unsigned long n) { unsigned long x=0, s, i; int t; s=n; /********** found**********/ i=【l】; /********** found**********/ while (【2】) { t=s%10; if(t%2==0){ /********** found***********/ x=x+t*i; i=【3】; } s=s/10; } return x; } main () { unsigned long n=-l; while(n>99999999||n<0) {printf("Please input:(0
进入题库练习
问答题下列给定程序中,函数fun的功能是:求S的值。例如,当k为10时,函数的值应为1.533852。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODIl,C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#include<math.h>/*********found*********/fun(intk){intn;floats,w,p,q;n=1;s=1.0;while(n<=k){w=2.0,lcn;p=w一1.0;q=w+1.0;s=s*w*w/p/q;n++;}/*********found*********/returns}voidmain(){system("CLS");printf("%f/n",fun(10));}
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是: 计算s所指字符串中含有t所指字符串的数目, 并作为函数值返回。 请改正函数fun中指定部位的错误, 使它能得出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! 给定源程序: #include #include #define N 80 int fun(char *s, char *t) { int n; char *p , *r; n=0; while ( *s ) { p=s; /*********found**********/ r=p; while(*r) if(*r==*p) { r++; p++; } else break; /*********found**********/ if(*r= 0) n++; s++; } return n; } main() { char a[N],b[N]; int m; printf("/nPlease enter string a : "); gets(a); printf("/nPlease enter substring b : "); gets( b ); m=fun(a, b); printf("/nThe result is : m = %d/n",m); }
进入题库练习
问答题请编写函数fun(),它的功能是计算下列级数和,和值由函数值返回。 S=1-x+x2/2!-x3/3!+…+(-1*x)n/n! 例如,当n=15,x=0.5时,函数值为0.606531。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<conio.h> #include<stdio.h> #include<math.h> double fun(double x, int n) main() clrscr(); printf("%f ",fun (0.5,15));
进入题库练习
问答题给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include #include typedef struct aa { int data; struct aa *next; } NODE; int fun (NODE *h) { int max=—1; NODE *p; p=h ; while (p) { if(p—>data>max) max=p—>data; p=h—>next ; } return max; } outresult(int s,FILE *pf) { fprintf(pf,"/nThe max in NODE *creatlink(int n. int m) int i; h=p= (NODE *) malloc (sizeof (NODE)) ; h—>data=9999; for(i=l; idata=rand () %m; 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,"/nTHE LIST:/n/n HEAD ") ; while (p) { fprintf (pf,"—>%d ",p—>data) ; p=p—>next; } fprintf (pf,"/n") ; } main () {NODE *head; int m; head=creatlink (12, 100) ; outlink (head , stdout) ; m=fun (head) ; printf("/nTHE RESULT :/n"); outresult (m, stdout) ; }
进入题库练习
问答题请编写函数proc(),该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是: 1 1 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10 10 删除后,数组中的内容应该是: 1 2 3 4 5 6 7 8 9 10 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序: #include<stdio.h> #define M 80 int proc(int a[],int n) { } void main() { int arr[M]={1,1,2,2,2,3,4,4.5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=22; printf("The original data:/n"); for(i=0;i<n;i++) printf("%3d",arr[i]); n=proc(arr,n); printf("/n/nYhe data after deleted :/n"); for(i=0;i<n;i++) printf("%3d",arr[i]); printf("/n/n"); }
进入题库练习
问答题编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。 例如,分别输入下面两个字符串: FirstString-- SecondString 程序输出: FirstString--SecondString 注意:部分源程序存在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include <stdio.h> void fun(char p1[],char p2[]) { } main() { char s1[80],s2[40]; 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中的十位和个位数依次放在变量a的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上。 例如,当a=45,b=12时,调用该函数后,c=4251。 注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。 请勿改动主函数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,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。函数fun中给出的语句仅供参考。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include<stdio.h> #define MAX 100 int fun(int lim, int aa[MAX]) { /*以下代码仅供参考*/ int i, j, k=0; /*其中变量k用于统计素数个数*/ for(i=2; i<=lim; i++) { /*以下找出小于或等于lim的素数存入aa数组中并统计素数个数*/ } return k; } main() { int limit, i, sum; int aa[MAX]; printf("输入一个整数:"); scanf("%d", sum=fun(limit, aa); for(i=0; i<sum; i++){ if(i%10==0 printf("%5d", aa[i]); } }
进入题库练习
问答题给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的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 void fun(SLIST *p)9 { SLIST *t,*s;10 t=p->next;s=p;11 while(t->next!=NULL)12 { s=t;13 /**********found**********/14 t=t->__1__;15 }16 /**********found**********/17 printf(''%d'',__2___ );18 s->next=NULL;19 /**********found**********/20 free( __3__ );21 }22 SLIST *creatlist(int *a)23 {SLIST *h,*p,*q;int i;24 h=p(SLIST*)malloc(sizeof(SLIST));25 for(i=0;i<N;i++)26 {q=(SLIST *)malloc(sizeof(SLIST));27 q->data=a[i];p->next=q;p=q;28 }29 p->next=0;30 return h;31 }32 void outlist(SLIST *h)33 {SLIST *p;34 p=h->next;35 if (p==NULL)printf(''\nThe list is NULL!\n'');36 else37 { printf(''\nHead'');38 do { printf(''->%d'',p->data);p=p->next;} while(p!=NULL);39 printf(''->End\n'');40 }41 }42 main()43 { SLIST *head;44 int a[N]={11,12,15,18,19,22,25,29};45 head=creatlist(a);46 printf(''\nOutput from head:\n'');outlist(head);47 printf(''\nOutput from tail:\n'');48 while(head->next!=NULL){49 fun(head);50 printf(''\n\n'');51 printf(''\nOutput from head again:\n'');outlist(head);52 }53 }
进入题库练习
问答题请编写一个函数proc(),它的功能是:比较2个字符串的长度(不得调用C语言提供的求字符串长度的函数),函数返回较短的字符串。若2个字符串长度相等,则返回第1个字符串。 例如,输入shanghai<CR>hebei<CR>(<CR>为Enter键),函数将返回hebei。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序: #include<stdio.h> char*proc(char*str, char*1) { } void main() { char a[20], b[10]; printf("Input 1th string: "); gets(a); printf("Input 2th string: "); gets(b); printf("%s", proc(a, b)); }
进入题库练习
问答题请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。 例如,二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 55 55 则一维数组中的内容应是: 33 33 33 33 44 44 44 44 55 55 55 55。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数mam和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include 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,&n,3,4); 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] [101,a[100],n=0,mm,nn; rf = fopen ("in.dat","r"); wf= fopen ("out.dat","w"); for(k= 0 ; k< 5 ; k++) { fscanf(rf,"%(i %d",&mmr &nn); for(i=0 ; i
进入题库练习
问答题请编一个函数void proc(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每行中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序: #include<stdio.h> #include<conio.h> #include<stdlib.h> #define M 3 #define N 4 void proc(int tt[M][N], int pp[N]) { } void main() { int str[M][N]={{34, 56, 84, 78}, {23, 84, 93, 12}, {28, 38, 39, 93}}; int p[N], i, j, k; system("CLS"); printf("The riginal data is: /n"); for(i=0; i<M; i++) { for(j=0; j<N; j++) printf("%6d", str[i][j]); printf("/n"); } proc(str, p); printf("/nThe result is: /n"); for(k=0; k<M; k++) printf("%4d", p[k]); printf("/n"); }
进入题库练习