计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题下列给定程序中函数fun()的功能是:求两个非零正整数的最大公约数,并作为函数值返回。 例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。 请改正程序中的错误,使它能得出正确结果。 注意:不得增行或删行,也不得更改程序的结构。 试题程序 #include <stdio.h> int fun(int a, int b) { /* * * * *found* * * * * / int r; t; if(a < b) { /* * * * *found* * * * * / t=a; a=b; b=t } r=a % b; / * * * * *found* * * * * / while(r !=0); { a=b; b=r; r=a% b; } return b; } main() { int a, b printf("请输入两个非0正数整数:/n"); scanf("% d% d", }
进入题库练习
问答题下列给定程序中,函数proc()的功能是:统计字符串sub在字符串str中出现的次数。例如,若字符串为bestwishesto you,子字符串为st,则应输出2。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdio.h> proc(char*str, char*sub) { int i, j, k, num=0; //****{ound**** for(i=0, str[i], i++) for(j=i, k=0; sub[k]==str[j]; k++, j++) if(sub[k+1]=="/0") { num++; break; } return num; } void main() { char str[80], sub[80]; printf("Input a string:"); gets(str); printf("Input a sbustring:"); gets(sub); printf("%d/n", proc(str, sub)); }
进入题库练习
问答题下列给定程序中函数fun()的功能是:求出以下数列的前n项之和,和值通过函数值返回。 1,2,3,4,5,6,... 例如,若n=5,则应输出15。 请改正程序中的错误,使其得出正确的结果。 不得增行或删行,也不得更改程序的结构! 试题程序 #include <stdlib.h> #include <stdio.h> /* * * *found* * * * / int fun(int n); { /* * * *found* * * * / int i /* * * *found* * * * / sum=0; for(i=1; i<=n; i++) { /* * * *found* * * * / sum=sum+i; } return sum; }
进入题库练习
问答题给定程序中,函数fun的功能是: 将a所指3×5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。 例如,有下列矩阵: 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 若k为2,程序执行结果为 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 试题程序: #1F1clude < stdio.h > #define M 3 #define N 5 void fun(int(* a)[N],int k) (int i,j,p,temp; /*********found*********/ for(p=1;p< = 【1】 ;p++) for(i=0;i < M;i++) {temp=a[i][0]; /*********found*********/ for(j=0; j < 【2】 ;j++) a[i][j]_a[i][j+1]; /*********found*********/ a[i][N一1]= 【3】 ; } } main() {int x[M][N]={{1,2,3,4,5), {1,2,3,4,5),{1,2,3,4,5)),i,j; printf("The array before moving:/n/n"); for(i=0; i < M;i++) {for(j=0;j < N;j++) printf("%3 d",x[i][j]); printf("/n"); } fun(x,2); printf("The array after moving:/n/n"); for(i=0;i < M;i++) {for(j=0;j < N;j++) prLntf("%3d",x[i][j]); printf("/n"); } }
进入题库练习
问答题下列程序中,函数fun的功能是: 按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在W所指的数组中。若s所指数组中元素的个数不是5的倍数,则多余部分忽略不计。 例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdio.h >#define SIZE 20fun(double*s,double*w){ int k,i;double sum; for(k=2,i=0;i < SIZE,i++) { s[i]=k,k+=2;}/*********found*********/ sun=0.0; for(k=0,i:0;i < SIZE;i++) {sum+=s[i];/*********found*********/ if(i+1%5==0) {w[k]=sum/5;SLIm=0; k++;} } return k;}main() {double a[SIZE],b[SIZE/5]; int i,k; k=fun(a,b); printf("The original data:/n"); for(i=0;i < SIZE;i++) { if(i%5=:0)printf(”/n”); printti("%4.of",a[i]); } printf("/n/nThe result:/n"); for(i=0 j i < kj i++) printf("%6.2f",b[i]); printf("/n/n"); }
进入题库练习
问答题给定程序MODI1.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。例如:当输入100时,输出:100=9+10+11+12+13+14+15+16 100=18+19+20+21+22请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<stdio.h>void fun(int n){ int j,b,c,m,flag=0; for(b=1;b<=n/2;b++){/*********found*********/ n=m; c=b; while(m!=0&&m>=C){/*********found*********/ m=m-c;c++ }/*********found*********/ if(m!=0) {printf("%d=",n); for(j=b,j<c一1;j++) printf("%d+",j); printf("%d\n",j); flag=1; } }if(flag=0)printf("不能分解\n");}main(){ int n; printf("请输入一个整数:"); scanf("%d",&n); fun(n);}
进入题库练习
问答题下列给定程序的功能是:读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里”单词”是指由空格隔开的字符串)。例如,若输入"I am a student to takethe examination",则应输出"I Am A Student To TakeThe Examination"。请改正程序中的错误,使程序能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:1 #include<stdlib.h>2 #include<string.h>3 #include<conio.h>4 #include<ctype.h>5 #include<stdio.h>6 #include<string.h>7 /*********found*********/8 void upfst(char P)9 {10 int k=0;11 for(;*P;P++)12 if(k)13 {14 if(*P=='')15 k=0;16 }17 else18 {19 if(*P!='')20 {21 k=1;22 *P=toupper(*P);23 }24 }25 }26 void main()27 {28 char chrstr[81]j29 System("CLS");30 printf("\nPlease enter an English text;lihe:");31 gets(chrstr);32 printf("\nBofore changing:\n%s",chrstr);33 upfst(chrstr);34 printf("\nAfter changing:\n%s\n",chrstr);35 }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。 例如,若给num1和num2分别输入49和21,则输出的最大公约数为7;若给num1和num2分别输入27和81,则输出的最大公约数为27。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 给定源程序: #include int fun(int a,int b) { int r,t; if(a /************found************/ t=a; b=a; a=t; } r=a%b; while(r!=0) { a=b; b=r; r=a%b; } /************found************/ return(a); } main() { int num1, num2,a; printf("Input num1 num2: "); scanf("%d%d", printf("num1= %d num2= %d/n/n",num1,num2); a=fun(num1,num2); printf("The maximun common divisor is %d/n/n",a); }
进入题库练习
问答题下列给定程序中,函数fun的功能是:输出M×M整数方阵,然后求两条对角线上元素之和,并作为函数值返回。 请改正程序中的错误,使它能得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! 试题程序:#include<stdio.h>#define M 5/******found******/int fun(int n,int xx[][]){ int i,j,sum=0; printf(“\nTne%d x%d martrix\n”,M,M); for(i=0;i<M;i++) { for(j=0;j<M;j++)/******found******/ prinff(“%f”,XX[i][j]); prinff(“\n”); } for(i=0;i<rl;i++) 8am+=xx[i][i]+XX[i][n—i一1]; return(sum);}main(){int aa[M][M]={{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0l,{9,8,7,6,5},{3,4,5,6,7}};printf(“\nThe sum of all elements On 2 ai.gn.is is%d.”,fun(1Vl,aa));}
进入题库练习
问答题下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回一1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.c中。不得增行或删行,也不得更改程序的结构! #include<stdio.h> #include<string.h> #define N 5 #define M 8 int fun(char(*ss)[M],char*t) { int i; /*********found*********/ for(i=0;i<一[1 1;i++) /*********found*********/ if(strcmp(SS[i],t)==0)return一[2]; retum一1; } main() {char ch[N][M]:{“if”,“while”,“switch”,“int”,“for”},t[M]; int n,i; printf(“\nThe original string\n\n”); for(i=0;i<N;i++)puts(ch[i]); printf(“\n”); printf(“\nEnter a string for search:”);gets(t); 13=fun(eh,t); /***********found***********/ if(n==[3])prinff(“\nDon't found!\n”); else printf(“\nThe position is%d.\n”,n); }
进入题库练习
问答题程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #define N 5 typedef struct student{ long sno; char name[10]; float score[3]; }STU; void fun(char*filename) {FILE*fp;int i,j; STU s[N],t ; /*********found*********/ fp=fopen(filename, 【1】 )j fread(s,sizeof(STU),N,fp); fclose(fp); for(i=0;i<N一1;i++) for(j=i+1;j<N;j++) /*********found*********/ if(s[i].sno 【2】 s[j].sno) {t=s[i]; s[i]=s[j]; s[j]=t;} fp=fopen(filename,"wb"); /*********found*********/ 【3】 (s,sizeof(STU),N,fp); fclose(fp); } main() {STU t[N]={{ 10005,"ZhangSan",95,80,88},{10003,"LiSi",85,70,78},{10002,"CaoKai",75,60,88},{10004,"FangFang",90,82,87},{10001,"MaChao",91,92,77}},ss[N]; int i,j;FILE* fp; fp=fopen("student.dat","wb"); fwrite(t,sizeof(STU),5,fp); fclose(fp); printf("\n\nThe original data :\n\n'); for(j=0;j<N;j++) {printf("\nNo:%id Name:%一8s Scores:",t[J].sno,t[j].name); for(i=0;i<3;i++) printf("%6.2 f",t[j].score[i]); printf("\n"); } fun("student.dat"); printf("\n\nThe data after sorting:\n\n"); fp=fopen("student.dat","rb"); fread(ss,sizeof(STU),5,fp); fclose(fp); for(j=0;j<N;j++) {printf("\nNo:%ld Name:%-8s Scores:",ss[j].sno,ss[j].name); for(i=0;i<3;i++) printf("%6.2 f",ss[j].scoEe[i]); printf("\n"); } }
进入题库练习
问答题请编写一个函数,函数的功能是删除字符串中的所有空格。例如,主函数中输入”asd afaa z67”,则输出为”asdafaaz67”。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #include 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); }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。 例如,在调用fun函数之前给a输入字符串:ABCDEFGHIJK,调用函数之后,字符数组b中的内容则为:ABC DEF GHI JK。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include void fun(char *p, char *b) { int i, k=0; while(*p) { i=l; while(i<=3 k++; p++; i++; } if(*P) { /**********found**********/ b[k++]=" "; } } b[k]='/0'; } main () { char a[80],b[80]; printf("Enter a string:");gets (a); printf("The original string: "); puts (a); fun(a,b); printf("/nThe string after insert space:");puts(b);printf("/n/n"); }
进入题库练习
问答题给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #define 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,45,32,91,16,20, 48},num; head=creatlist(a); outlist(head); /****** ****found**********/ fun (【3】, printf("/nnumber=%d/n",num); } SLIST *creatlist(int a[]) {SLIST *h,*p,*q; int i; h=p=(SLIST*)malloc(sizeof(SLIST)); for(i=0; idata=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"); } }
进入题库练习
问答题下列给定程序中,函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。 例如,当S所指字符串中的内容为“abcdabfabc”,t1所指子串中的内容为“ab”,t2所指子串中的内容为“99”时,结果在w所指的数组中的内容应为“abcdabf99c”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<conio.h> #include<stdio.h> #include<string.h> void fun(char*s,char*t1,char*t2,char*w) { char*p,*r,*a; strcpy(w,s); /********found********/ while(w) { P=w; r=t1; while(*r) /********found********/ if(*r==*p) { r++; p++; } else { break; } if(*r=="/0") a=w; w++; } r=t2; while(*r) { *a=*r; a++; r++; } } main() { char s[100],t1[100],t2[100],w[100]; printf("/nPlease enter string s:"); scanf("%s",s); printf("/nPlease enter substring t1:"); scanf("%s",t1); printf("/nPlease enter substring t2:"); scanf("%s",t2); if(strlen(t1)==strlen(t2)) { fun(s,t1,t2,w); printf("/nThe result is:%s/n",w); } else { printf("/nError;strlen(t1)!=strlen(t2)/n"); } }
进入题库练习
问答题程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 5 typedef struct student { long sno; char name[10]; float score[3]; } STU; void fun(char *filename, STU n) {FILE *fp; /********* found**********/ fp = fopen(【1】, "rb+"); /********* found**********/ fseek(【2】, -(long)sizeof(STU), SEEK_END); /********** found**********/ fwrite( fclose(fp); } main () {STU t [N] = { {10001,"MaChao",91,92, 77},{10002,"CaoKai",75,60,88}, {10003,"LiSi",85,70,78},{10004, "FangFang",90,82,87},{10005, "ZhangSan", 95, 80, 88}}; STU n={10006,"ZhaoSi",55,70,68}, ss[N]; int i,j; FILE *fp; fp = fopen("student.dat","wb"); fwrite(t, sizeof(STU), N, fp); fclose(fp); fp = fopen("student.dat", "rb"); fread(ss, sizeof(STU), N, fp); fclose(fp); printf("/nThe original data:/n/n"); for (j=0; j
进入题库练习
问答题假定输入的字符串中只包含字母和*号。请编写函数proc(),它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参m给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用c语言提供的字符串函数。 例如,若字符串中的内容为****a*bc*def*g*******,删除后,字符串中的内容则应当是a*bc*def*g。 注意:部分源程序已给出。 请勿改动主函数main和其他函数中的任何内容。 试题程序: #include<stdio.h> #include<conio.h> void proc(char*a, int m, int h, int e) void main() char s[81], *t, *f; int m=0, tn=0, fn=0; printf("Enter a string: /n"); gets(s); t=f=s; while(*t) t++; m++; ) //m为字符串的长度 t--; //指针t指向字符串尾部 while(*t=='*') t--; tn++; //指针t指向最后一个字母,tn统计尾部'*'的个数 while(*f=='*') f++; fn++; //指针f指向第一个字母,tn统计前导'*'的个数 proc(s, m, fn, tn); printf("The string after deleted: /n"); puts(s); )
进入题库练习
问答题给定程序中,函数fun的功能是: 在3×4的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。 例如,有下列矩阵: 1 2 13 4 7 8 10 6 3 5 9 7 程序执行结果为:find:a[2][2]=9 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 试题程序: #inclucte < st c < 10.h > #define M 3 #define N 4 void fun(int(*a)[N]) {int i=0,j,find=0,rmax,c,k; while((i < M)&&(!find)) {Emax=a[i][0];c=0; for(j=1;j < N;j++) if(Emax < a[i][j]){ /*********found*********/ rmax=a[i][j]; c= 【1】 ;} find=1;k=0; while(k < M&&find){ /*********found*********/ if(k!=i&&a[k][C] < =Emax) find= 【2】 ; k++; } if(find) printf("find:a[%d][%d] =%d/n",i,c,a[i][c]); /*********found*********/ 【3】 ; ) if(!find) printf("not found!/n"); } main() {int x[M][N],i,j; printf("Enter number for array:、n"); for(i=0;i < M;i++) for(j=0;j < N;j++) scanf("%d",&x[i][j]); printf("The array:/n"); for(i=0;i < M;i++) {for(j=0;j < N;j++) printf("%3 d",x[i][j]); printf("/n/n"); } fun(x); }
进入题库练习
问答题假定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了尾部的*号之外,将字符中其他的*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是“ABCDEFG*******”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容。仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<stdio.h> void fun(char*a,char*p) void 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的功能是:判断形参s所指字符串是否是“回文”(Palindrome),若是,函数返回值为1;不是,函数返回值为0。“回文”是正读和反读都一样的字符串(不区分大小写字母)。 例如,LEVEL和Level是“回文”,而LEVLEV不是。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include <stdio.h>2 #include<string.h>3 #include<ctype.h>4 int fun(char *s)5 { char *1p,*rp;6 /**********found**********/7 1p=__1__;8 rp=s+strlen(s)-1;9 while((toupper(*1p)==toupper(*rp))&&(1p<rp)){10 /**********found**********/11 1p++;rp__2__;}12 /**********found**********/13 { if(1p<rp) __3__;14 else return 1;15 }16 main()17 { char s[81];18 printf(''Enter a string:'');scanf(''%s'',s);19 if(fun(s))printf(''\n\''%s\''is a Palindrome.\n\n'',s);20 else printf(''\n\''%s\''isn't a Palindrome.\n\n'',s);21 }
进入题库练习