计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题编程计算下列表达式:s=n!(n从键盘上输入)
进入题库练习
问答题m个人的成绩存放在score数组中,请编写函数proc(),它的功能是:将高于平均分的人数作为函数值返回,将高于平均分的分数放在up所指的数组中。 例如,当score数组中的数据为100,80,76.60,59,48,43,35,59时,函数返回的人数应该是4,up中的数据应为100,80,76,95。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序: #include<stdlib.h> #include<conio.h> #incIude<stdio.h> #include<string.h> int proc(int score[],int m,int up[]) { //返回高于平均分的人数 } void main() { int i,n,up[9]; int seore[9]={100,80,76,60,59,48,43,35,95}; system("CLS"); n=proc(score,9,up); printf("/n up to the average score are:%d/n",n); for(i=0;i<n;i++) printf("%d",up[i]); }
进入题库练习
问答题下列给定程序中函数proc()的功能是:将长整型数中为偶数的数依次逆向取出,构成一个新数放在t中。高位在低位,低位在高位。例如,当s中的数为12345678时,则t中的数为8642。 请修改函数proc()中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdlib.h> #include<stdio.h> #include<conio.h> void proc(long s, long*t) { int d; long s1=1, i=1; *t=0; while(s/i>0) i=i*10; i=i/10; while(s>0) { d=s/i; //****found**** if(d%2!=0) { //****found**** t=d*s1+t; s1*=10; } s=s%i; i=i/10; } } void main() { long s, t; system("CLS"); printf("/nPlease enter s:"); scanf("%1d", proc(s, printf("The result is: %1d/n", t); }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:计算并输出high以内最大的10个素数之和。high的值由主函数传给fun函数。 若high的值为:100,则函数的值为:732。 请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #include<math.h>3 int fun(int high)4 { int sum=0,n=0,j,yes;5 /**********found**********/6 while((high>=2)&&(n<10)7 { yes=1;8 for(j=2;j<=high/2;j++)9 if(high%j==0) {10 /**********found**********/11 yes=0;break12 }13 if (yes) {sum+=high; n++;)14 high--;15 }16 return sum;17 }18 main()19 {20 printf(''%d\n'',fun(100));21 }
进入题库练习
问答题请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。注意:部分源程序存在PROGl.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语勾。试题程序:
进入题库练习
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 #define N 123 typedef struct4 { char num[10];5 double s;6 } STREC;7 double fun(STREC *a,STREC *b,int *n)8 {9 }10 main()11 {STREC s[N]={{''GA05'',85},{''GA03'',76}, {''GA02'',69},(''GA04'',85},{''GA01'',91},{''GA07'',72},{''GA08'',64},{''GA06'',87},{''GA09'',60},{''GA11'',79},{''GAl2'',73},{''GAl0'',90}};12 STREC h[N],t;FILE *out;13 int i,j,n;double ave;14 ave=fun(s,h, i<n-1;i++)22 for(j=i+1;j<n;j++)23 if(h[i].s<h[j].s){ t=h[i];h[i]=h[j];h[j]=t;}24 for(i=0;i<n;i++)25 fprintf(out,''%4.1f\n'',h[i].s);26 fclose(out);}
进入题库练习
问答题给定程序MODI1.C中函数fun()的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的“单词”是指由空格隔开的字符串)。 例如,若输入”I am a student to take the examination.”,则应输出”I aM A studenT tO takE thE examination.”。 请修改程序中的错误之处,使它能得出正确的结果。 注意:不要改动main()函数,不得删行,也不得更改程序的结构。 #include<ctype.h> #include<stdio.h> #include<string.h> void fun(char *p) int k=0; for(; *p;p++) if(k) /**********found**********/ if(p=='') k=0; /**********found**********/ *(p)=toupper(*(p-1)) else k=1; main() char chrstr[64]; int d; printf("/nPlease enter an English sentence within 63 letters:"); gets(chrstr); d=strlen(chrstr); chrstr[d]=''; chrstr[d+1]=0; printf("/n/nBefore changing:/n %s",chrstr); fun(chrstr); printf("/nAfter changing:/n%s",chrstr);
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串:若未找到,则函数值为NULL。 例如,当字符串中的内容为''abcdabfabcdx",t中的内容为“ab”时,输出结果应是“abcdx”。 当字符串中的内容为“abcdabfabcdx”,t中的内容为“abd”时,则程序输出未找到信息“notbe found!”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #include<string.h>3 char *fun(char*s,char*t)4 {5 char *p, *r, *a;6 /**********found**********/7 a=Null;8 while(*s)9 { p=s;r=t;10 while(*r)11 /**********found**********/12 if(r==p)13 { r++;p++;)14 else break;15 if(*r=='\0')a=s;16 s++;17 }18 return a;19 }20 main()21 {22 char s[100],t[100],*p;23 printf(''\nPlease enter string s:'');scanf(''%s'',s);24 printf(''\nPlease enter substringt:'');scanf(''%s'',t);25 p=fun(s,t);26 if (p)printf(''\nThe result is:%sin'',p);27 else printf(''\nNot found!\n'');28 }
进入题库练习
问答题给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。 例如,当s中的字符串为:"ABCDE"时,则t中的字符串应为:"ABCDEEDCBA"。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include<stdio.h> #include<string.h> void fun(char*s,char *t) {int i,s1; s1=strlen(s); /**********found**********/ for(i=0;i<=s1;i++) t[i]=s[i]; for(i=0;i t[s1+i]=s[s1-i-1]; /**********found**********/ t[s1]="/0"; } main() {char s[100],t[100]; printf("/nPlease enter string s:");scanf("%s",); fun(s,t); printf("The result is:%s/n",t); } (1)for(i=0;i (2)t[s1]="/0"应改为t[2*s1]="/0"或t[s1+s1]="/0"[解析] 本题中函数的功能是先将字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。首先由字符串的第一个标识正序取s中的字符串存放到t串中,然后由s串尾开始,逆序取字符并存放到t串中。 (1)编译程序后可知,for(i=0;i<=s1;i++)这一行有错误,原因是s1变量没有定义,显然这个循环的目的是将s字符串的内容复制至t字符串。这里的循环变量i的最大值是s字符串的长度s1,因此第一个标识下是将s1改为s1。 (2)题目要求将s中的字符复制至t字符串之后,还需将s按逆序连接到t串的后面,第二个循环已经完成了逆序接到t字符串的工作,最后是确定字符串的结尾,即字符串应该以“/0”结束。此时,字符串t的长度是2*s1。显然t[s1]="/0"的话字符串长度仍然是s1,故第二个标识下是将t[s1]="/0"改成t[2*s1]="/0"或者t[s1+s1]="/0"。 [考点] 函数功能;逻辑关系。
进入题库练习
问答题给定程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。 例如,若N=3,有下列矩阵: 1 2 3 计算结果为 7 4 1 4 5 6 8 5 2 7 8 9 9 6 3 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #define N 43 void fun(int(*t)[N])4 { int j,r[N];5 for(j=0;j<N;j++)r[j]=t[0][j];6 for(j=0;j<N;j++)7 /**********found**********/8 t[0][N-j-1]=t[j][__1__];9 for(j=0;j<N;j++)10 t[j][0]=t[N-1][j];11 /**********found**********/12 for(j=N-1;j>=0;__2__)13 t[N-1][N-1-j]=t[j][N-1];14 for(j=N-1;j>=0;j--)15 /**********found**********/16 t[j][N-1]=r[__3__];17 }18 main()19 {int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;20 printf(''\nThe original array:\n'');21 for(2=0;i<N;i++)22 {for(j=0;j<N;j++)printf(''%2d”,t[i][j]);23 printf(''\n'');24 }25 fun(t);26 printf(''\nThe result is:\n'');27 for(i=0;i<N;i++)28 { for(j=0;j<N;j++)printf(''%2d'',t[i][j]);29 printf(''\n'');30 }31 }
进入题库练习
问答题给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include void fun(char *s, int a, double f) { /**********found**********/ __1__ fp; char str[100], str1[100], str2[100]; int a1; double f1; fp = fopen("file1.txt", "w"); fprintf(fp, "%s %d %f/n", s, a, f); /**********found**********/ __2__ ; fp = fopen("file1.txt", "r"); /**********found**********/ fscanf(__3__,"%s%s%s", str, str1, str2); fclose(fp); a1 = atoi(str1); f1 = atof(str2); printf("/nThe result :/n/n%s %d %f/n", str, a1, f1); } main() { char a[10]="Hello!"; int b=12345; double c= 98.76; fun(a,b,c); }
进入题库练习
问答题下列给定程序中,函数fun的功能是:根据以下公式求π值,并作为函数值返回。 例如,当给指定精度的变量eps输入0.0005时,应输出Pi=3.140578。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < conio.h >#include < stdio.h >#include < math.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*********/ riturn(s);}void main(){ double x; printf("/nPlease enter aprecision:"); scar1f("%lf",&x); printi("/riPi=%1f/n”,fun(x));}
进入题库练习
问答题规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。 例如,字符串中的内容为“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是“****A*BC*DEF*G”。在编写函数时,不得使用C语言提供的字符串函数。 注意 :部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数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); }
进入题库练习
问答题请指出以下C程序的错误所在: main / * main function * / { float a, b, c , v ; /* a, b, e are sides, v is volume of cube */ a = 2.0 ; b = 3.0 ; c = 4.0 v=a* b * c; prinff (" %f /n ", v ) }
进入题库练习
问答题函数fun的功能是:将一副扑克牌编号为1,2,3,…,53,54,以某种特定的方式洗牌,这种方式是将这副牌分成两半,然后将它们交叉,并始终保持编号为1的牌在最上方,如第一次这样洗牌后的结果为:1,28,2,29,…,53,27,54。第二次洗牌后的结果为:1,41,28,15,2,42,…,53,40,27,14,54。 程序的功能是:输出经过n次这样洗牌后的结果。 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的试题程序: #include void fun(int a[55],int n) {int i,k; /**********found**********/ int【1】[55]; for(i=0;i<n;i++) {for(k=1;k<=27;k++) {b[2*k一1]=a[k]; /**********found**********/ b[【2】*k]=a[k+27]; } for(k=1;k<=54:k++) /**********found**********/ a[k]=【3】; } } main() {int m,a[55],i; for(i=1;i<55;i++)a[i]=i; printf(''请输入洗牌次数:'');scanf(''%d'',&m); fun(a,m); for(i=l;i<55;i++)printf(''%d,'',a[i]); printf(''\n''); }
进入题库练习
问答题给定程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。 例如,形参s所指的字符串为:abs5def126jkm8,程序执行后的输出结果为:22。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #include int fun(char *s) { int sum=0; while(*s) { /**********found**********/ if( isdigit(*s) ) sum+= *s- __1__ ; /**********found**********/ __2__; } /**********found**********/ return __3__ ; } main() { char s[81]; int n; printf("/nEnter a string:/n/n"); gets(s); n=fun(s); printf("/nThe result is: %d/n/n",n); }
进入题库练习
问答题下列给定程序中,函数proc()的功能是:从字符串str中,删除所有大写字母"F"。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdio.h> void proc(char*str) { int i, j; //****found**** for(i=j=0; str[i]!="0"; i++) if(str[i]!="F") //****found**** str[j]=str[i]; str[j]="/0"; } void main() { char str[80]; printf("/nEnter a string: "); gets(str); printf("The original string: "); puts(str); proc(str); printf("The string after deleted: "); puts(str); printf("/n/n"); }
进入题库练习
问答题请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<string.h> #include<stdio.h> #define N 80 int fun(char*s) { } void main() { char line[N]; int num=0; printf("Enter a string:/n"); gets(line); num=fun(line); printf("The number of word is:%d/n/n",num); }
进入题库练习
问答题下列给定程序中函数fun的功能是:统计substr所指的字符串在str所指的字符串中出现的次数。 例如,若字符串为aass 1kaaas,子字符串为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 substfing: "); gets(substr); printf("%d\n", fun(str, substr)); }
进入题库练习
问答题float f=3.1415927;   printf(“%f,%5.4f,%3.3f”,f,f,f);   则程序的输出结果是__________。
进入题库练习