计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符“*”补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长<N。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #include<string.h>3 #define M 54 #define N 205 void fun(char(*ss)[N])6 { int i,j,n,len=0;7 for(i=0;i<M;i++)8 {len=strlen(ss[i]);9 if(i==0)n=len;10 if(len>n)n=len;11 }12 for(i=0;i<M;i++) {13 /**********found**********/14 n=strlen( __1__);15 for(j=0;j<len-n;j++)16 /**********found**********/17 ss[i][ __2__]='*';18 /**********found**********/19 ss[i][n+j+__3__]='\0';20 }21 }22 main()23 { char ss[M][N]={''shanghai'',''guangzhou'',''beij ing'',''tianj ing'',''cchongqing''};24 int i;25 printf(''The original strings are:\n'');26 for(i=0;i<M;i++)printf(''%s\n'',ss[i]);27 printf(''\n'');28 fun(ss);29 printf(''The resuit is:\n'');30 for(i=0;i<M;i++)printf(''%s\n'',ss[i]);31 }
进入题库练习
问答题下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include < stdio.h > #include < stdlib.h > #defihe N 8 typedef struct list { int data; struct list* next; }SLIST; SLIST*creatlist(int* a); void outlist(SLIST*); void fun(SLIST*h,int*n) { SLIST*p; /*********found*********/ 【1】 =0; p=h一 >next; while(p) { (*n)++; /*********found*********/ p=p一 > 【2】 ; } } main() { SLIST* head; int a[N]={12,87,4 5,32,91,16,20,48),num; head=creatlist(a); outlist(head); /*********found*********/ fun( 【3】 ,&num); printf("/nnumber=%d/n",num); } SLIST* creatlist(int a[]) { SLIST *h,*p,*q; int i; h=P=(SLIST*)malloc(sizeof(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("The list is NULL!/n"); else {printf("/nHead"); do {printf("一 >%d",p一 > data); p=p一 >next;} while(P!=NULL); printf("一 >End/n"); } }
进入题库练习
问答题编写函数int fun(int lim,int aa[MAX]),其功能是求出小于或等于lim的所有素数并放在aa数组中,并返回所求出的素数的个数。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:1 #include<conio.h>2 #include<stdio.h>3 #include<stdlib.h>4 #define MAX 1005 int fun(int lim,int aa[MAX])6 {78 }9 void main()10 {11 FILE*wf;12 int limit,i,sum;13 int aa[MAX];14 system("CLS");15 printf("输入一个整数:");16 scanf("%d",&limit);17 sum=fun(limit,aa);18 for(i=0;i<sum;i++)19 {20 if(i%10==0&&i!=0) /*每行输出10个数*/21 printf("\n");22 printf(”%5d”,aa[i]);23 }24 /*****************/25 wf=fopen("out.dat","W");26 sum=fun(15,aa);27 for(i=0;i<sum; i++)28 {29 if(i%10==0&&i!=0) /*每行输出10个数*/30 fprintf(wf,"\n");31 fprintf(wf,"%5d",aa[i]);32 }33 fclose(wf);34 /*****************/35 }
进入题库练习
问答题给定程序MODI1.C是建立一个带头结点的单向链表, 并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中指定部位的错误, 使它能得出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! 给定源程序: #include #include typedef struct aa { int data; struct aa *next; } NODE; fun ( NODE *h ) { int max=-1; NODE *p; /***********found**********/ p=h ; while(p) { if(p->data>max ) max=p->data; /***********found**********/ p=h->next ; } return max; } outresult(int s, FILE *pf) { fprintf(pf,"/nThe max in link : %d/n",s);} NODE *creatlink(int n, int m) { NODE *h, *p, *s, *q; int i, x; h=p=(NODE *)malloc(sizeof(NODE));h->data=9999; for(i=1; 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); }
进入题库练习
问答题已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。 注意:部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include <stdio.h>#include <string.h>#define N 10typedef struct ss{ char num[10]; int s;} STU;void fun(STU a[], STU *s){}main (){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;void NONO ();printf ("***** The original data *****/n");for (i=0; i< N; i++)printf("No = %sMark= %d/n", a[i] .num,a[i] .s);fun (a, printf ("***** THE RESULT *****/n") ; printf ("The lowest : %s , %d/n", m.num, m.s);NONO(); } void NONO () (/*本函数用于打开文件,输入数据,调 用函数,输出数据,关闭文件。 */FILE *rf, *wf ;STU a[N], m ;int i ;rf = fopen("in.dat","r");wf = fopen ("out.dat","w");for(i = 0 ; i < 10; i++) fscanf(rf, "%s %d", a[i].num, fun (a, fprintf(wf,"The lowest : %s, %d/n", m.num, m.s);fclose(rf);fclose(wf); }
进入题库练习
问答题下列给定程序中,函数fun的功能是:将形参n中的奇数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。 例如,输入一个整数27638496,函数返回值为973。 请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构! #lnclude unsigned long fun(unsigned long n) {unsigned long x=0;int t; while(n) {t=n%10; /**********found**********/ if(t%2==【1】) /**********found**********/ x=【2】+t; /**********found**********/ n=【3】; } returnx; } main() {unsigned long n=一1; while(n>99999999‖n<0) {printf(''Please input(0<n<100000000):'');scanf(''%1d'',&n); printf(''\nThe result is:%ld\n'',fun(n)); }}
进入题库练习
问答题学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组s中,请编写函数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", 85}, {"GA003", 76}, {"GA002", 69}, {"GA004", 85}, {"GA001", 91}, {"GA007", 72}, {"GA008", 64}, {"GA006", 87}, {"GA015", 85}, {"GA013", 91}, {"GA012", 64}, {"GA014", 91}, {"GA011", 66}, {"GA017", 64}, {"GA018", 64}, {"GA016", 72}}; STREC h[M]; int i, n; n=proc(stu, h); printf("The %d highest score: /n", n); for(i=0; i<n; i++) printf("%s%4d/n", h[i].num, h[i].s); //输出最高分学生的学号和成绩 printf("/n"); }
进入题库练习
问答题某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数,其功能是:求出该学生的平均分,并放入记录的ave成员中。 例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。 注意:部分源程序已给出。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun部位中填入你编写的若干语句。 试题程序: #include<stdio.h> #define N 8 typedef struct char num[10]; double s[N]; double ave; STREC: void fun(STREC*a) int i: a->ave=0.0; for(i=0;i<N;i++) a->ave=a->ave+a->s[i]; /*求各门课程成绩的总和*/ a->ave=a->ave/N;/*求平均分*/ void main() STREC s="GA005",85.5,76,69.5,85,91,72,64.5,87.5; int i; fun(&s); printf("The%s's student data:/n",s.num); for(i=0;i<N;i++) printf("%4.1fkn",s.s[i]); printf("/nknave=%7.3fkn",s.ave); printf("/n");
进入题库练习
问答题请编写函数fun,函数的功能是:删去一维数组电所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。 删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 #define N 803 int fun(int a[],int n)4 {5 {6 }7 main()8 { int a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=20; void NONO();9 printf(''The original data:\n'');10 for(i=0; i<n; i++)printf(''%3d'', a[i]);11 n=fun(a,n);12 printf(''\n\nThe data after deleted:\n'');13 for(i=0;i<n;i++) printf(''%3d'',a[i]); printf(''\n\n'');14 NONO();15 }16 void NONO()17 {/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/18 FILE *rf,*wf;int a[N],n,i,j;19 rf=fopen(''in.dat'',''r'');20 wf=fopen(”out.dat”,”w”);21 for(i=0;i<5;i++) {22 fscanf(rf,''%d'',&n);23 for(j =0 ; j<n ; j++) fscanf(rf,''%d'',&a[j]);24 n=fun(a,n);25 for(j=0;j<n;j++) fprintf(wf,''%4d'',a[j]);26 fprintf(wf,''\n'');27 }28 fclose(rf);fclose(wf);29 }
进入题库练习
问答题 给定程序MODI1.C中函数fun的功能是:将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中)。 例如,字符串中的数据为:AABBCCDDEEFF,则输出应当是:ABBCDDEFF。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include <stdio.h> #include <string.h> #define N 80 void fun(char *s, char t[]) { int i,j=0; for(i=0; i<(int)strlen(s); i++) /***********found**********/ if(i%2 /***********found**********/ t[i]="/0"; } main() { char s[N], t[N]; printf("/nPlease enter string s:"); gets(s); fun(s, t); printf("/nThe result is:%s/n",t); }
进入题库练习
问答题给定程序中,函数fun的功能是: 将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参s所指的字符串为:def35adh3kjsdf7。执行结果为:defadhkjsdf3537。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include void fun(char *s) { int i, j=0, k=0; char t1[80], t2[80]; for(i=0; s[i]!='/0'; i++) if(s[i]>='0' ___1___; } else t1[k++]=s[i]; t2[j]=0; t1[k]=0; /**********found**********/ for(i=0; i /**********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 result is : %s/n",s); }
进入题库练习
问答题请编一个函数void fun(int tt[M] [N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < stdlib.h >#include < conio.h >#include < stdio.h >#define M 3#define N 4void fun(int tt[M][N],int pp[N]){}void main(){ int t[M][N]={{68,32,54,12),{14,24,88,58},{42,22,44,56)}; int P[N],i,j,k; system("CLS"); printf("The riginal datais:/n"); for(i=0;i < M;i++) { for(j=0;j < N;j++) printf("%6d",t[i] [j]); printf("/n"); } fun(t,p); printf("/nThe result is:/n"); for(k=0;k < N;k++) printf("%4d",p[k]); printf("/n");}
进入题库练习
问答题给定程序中函数fun的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指的数组的尾部。例如,当a所指字符串中的内容为"abedefg",b所指字符串中的内容为"1234"时,c所指数组中的内容应为"a4b3c2dlefg";而当a所指字符串中的内容为"1234",b所指字符串的内容为"abedefg"时,c所指数组中的内容应该为"lg2f3e4dcba"。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:include<stdio.h>#include<string.h>void fun(char*a,char*b,char*c){ int i,j;char ch; i=0;j=strlen(b)-1;/*********found*********/ while(i>j) { ch=b[i];b[i] =b[j]; b[j]=ch; i++;j--; } while(*a‖*b){/*********found*********/ If( *a) { *c=*a;c++;a++;} if(*b) { *c=*b;c++;b++;} } *c=0 ;}main(){ char s1[100],s2[100],t[200]; printf("\nEnter s1 string:"); scanf("%s",s1); printf("\nEnter s2 string:"); scanf("%s",s2); fun(s1,s2,t); printf("\nThe result is:%s\n",t);}
进入题库练习
问答题规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串中尾部的*号不多于F1个,若多于n个,则删除多余的*号;若少于或等于11个,则不做任何操作,字符串中间和前面的木号不删除。例如,字符串中的内容为“****A*BC*DEF*G*******”,若n的值为4,删除后,字符串中的内容应为“****A*BC*DEF*G****”;若n的值为7,则字符串中的内容仍为“****A*BC*DEF*G*******”。n的值在主函数中输入。编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>void fun(char*a,int n){}rnain(){ char s[81];int n; printf("Enter a string:\lq"); gets(s); printf("Enter n:"); scanf("%d",&n); fun(s,n); printf("The string after deleted:\n"); puts(s);}
进入题库练习
问答题 请编写一个函数,函数的功能是删除字符串中的所有空格。例如,主函数中输入"asd af aa z67",则输出为”asdafaaz67”。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若千语句. #include<stdio.h> #include<ctype.h> void fun(char*str) { } main() { char str[81]; void NONO(); printf("Input a string:"); gets(str); puts(str); fun(str); printf("***str: %s/n", str); NONO(); } void NONO() { /*请在此函数内打开文件,输入调试数据,调用fun函数,输出数据,关闭文件。 */ char str[81]; int n=0; FILE*rf, *wf; rf=fopen("in.dat", "r"); wf=fopen("out.dat", "w"); while(n<10){ fgets(str, 80, rf); fun(str); fprintf(wf, "%s", str); n++; } fclose(rf); fclose(wf); }
进入题库练习
问答题下列给定程序中,函数fun的功能是:将m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指存储区中。例如:把三个串“abe”“CD”“EF”连接起来,结果是”abc-CDEF”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include<stdio.h>#include<string.h>void fun(char str[][10],int m,char*pt){/******found******/ Int k,q,i; for(k=0;k<m;k++) { q=strlen(str[k]); for(i=0;i<q;i++)/******found******/ pt[i]=str[k,i]; pt+=q; pt[0]=0; }}main(){ int m,h; char s[10][10],P[120]; parintf(“\nPlease enter m:”); seanf(“%d”,&m); gets(sro]); printf(“\nPlease ent~l"%d string:\n”,m); for(h=0;h<m;h++) gets(s[h]); fun(s,m,P); prinff(“\nThe result is:%s\n”,P);}
进入题库练习
问答题下列给定程序中,函数fun的功能是:将主函数中两个变量的值进行交换。例如,若变量a中的值为8,b中的值为3,则程序运行后,a中的值为3,b中的值为8。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:1 #include<Stdio.h>2 /*********found*********/3 void fun(int x,int y)4 {int t;5 /*********found*********/6 t=x;x=y;y=t;7 }8 void main()9 { int a,b;10 a=8;11 b=3;12 fun(&a,&b);13 printf("%d%d\n",a,b);14 }
进入题库练习
问答题给定程序MODI1.C的功能是:读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。 例如,若输入整数:2310,则应输出:2、3、5、7、11。 请改正程序中的语法错误,使程序能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include /************ found************/ IsPrime (int n); { int i, m; m = 1; for (i =2; i < n; i++) /************found************/ if !(n%i) { m = 0; break ;} return (m); } main () { int j, k; printf("/nPlease enter an integer number between 2 and 10000: "); scanf("%d", printf ("/n/nThe prime factor (s) of %d is (are):", k) ; for(j =2; j <= k; j++) if((!(k%j)) printf("/n"); }
进入题库练习
问答题请编写函数fun(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0到p(p≤n-1)的数组元素平移到数组的最后。 例如,一维数组中的原始内容为1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,p的值为3。移动后,一维数组中的内容应为5,6,7,8,9,10,11,12,13,14,15, 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");
进入题库练习
问答题给定程序中,函数fun的功能是:将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。 例如,s所指字符串为:asd123fgh5##43df,处理后新字符串为:123543asdfgh##df。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #include #include char *fun(char *s) { int i, j, k, n; char *p, *t; n=strlen(s)+1; t=(char*)malloc(n*sizeof(char)); p=(char*)malloc(n*sizeof(char)); j=0; k=0; for(i=0; i { if(isdigit(s[i])) { /**********found**********/ p[__1__]=s[i]; j++;} else { t[k]=s[i]; k++; } } /**********found**********/ for(i=0; i<__2__; i++) p[j+i]= t[i]; p[j+k]=0; /**********found**********/ return __3__; } main() { char s[80]; printf("Please input: "); scanf("%s",s); printf("/nThe result is: %s/n",fun(s)); }
进入题库练习