计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
改错题 下列给定程序中,函数fun的功能是:根据整型形参n,计算如下公式的值。 A1=1,A2=1/(1+A1),A3=1/(1+A2),…,An=1/(1+A(n-1)) 例如,若n=10,则应输出0.617977。 请改正程序中的锴误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!。 试题程序: #include<stdlib.h> #include<conio.h> #include<stdio.h> /**********found**********/ int fun(int n) { float A=1;int i; /**********found**********/ for(i=2;i<n;i++) A=1.0/(1+A); return A; } void main() { int n; system('CLS'); printf('\nPlease enter n:'); scanf('%d',n); printf('A%d=%lf\n',n,fun(n)); }
进入题库练习
改错题 给定程序中fun函数的功能是:求s=aa...aa-...-aaa-aa-a(此处aa...aa表示n个a,a和n的值在1至9之间)。 例如a=3,n=6,则以上表达式为:s=333333-33333-3333-333-33-3,其值是:296298。 a和n是fun函数的形参,表达式的值作为函数值传回main函数。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include <stdio.h> long fun (int a,int n) { int j; /**********found**********/ long s=0,t=1; for(j=0;j<n;j++) t=t*10+a; s=t; for(j=1;j<n;j++){ /**********found**********/ t=t%10; s=s-t; } return(s); } main() { int a,n; printf('\nPlease enter a and n:'); scanf('%d%d', a, n); printf('The value of function is:%ld\n', fun(a.n)); }
进入题库练习
改错题给定程序MODI1.C中fun函数的功能:求出以下分数序列的前n项之和。和值通过函数值返回main函数。例如,若n=5,则应输出8.391667。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序如下:#includestdio.h/**************found**************/fun(intn){inta=2,b=1,c,k;doubles=0.0;for(k=1;k=n;k++){s=s+1.0*a/b;/**************found**************/c=a;a+=b;b+=c;}return(s);}main(){intn=5;printf('\nThevalueoffunctionis:%lf\n',fun(n));}
进入题库练习
改错题 给定程序MODI1.c中函数fun的功能:将十进制正整数m转换成k(2≤k≤9)进制数,并按高位到低位顺序输出。 例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。 请改正fun函数中的错误,使它能得出正确的结果。 注意:不要改动main函数。不得谱行或删行,也不得更改程序的结构! 给定源程序如下: #include conio.h #include stdio.h void fun( int m, int k ) { int aa[20], i; for( i = 0; m; i++ ) { /**********found**********/ aa[i] = m/k; m /= k; } for( ; i; i-- ) /**********found**********/ printf( '%d', aa[ i ] ); } main() { int b, n; printf( '\nPlease enter a number and a base:\n' ); scanf( '%d %d', n, b ); fun( n, b ); printf('\n'); }
进入题库练习
改错题 给定程序中函数fun的功能是:由形参给定n个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。 例如,n=8时,输入:193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763。 所得平均值为:195.838750,在平均值以上的实数个数应为:5。 请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include<stdio.h> int fun(double x[],int n) { /************found************/ int j,c=0,double xa=0.0; for(j=0;j<n;j++) xa+=x[j]/n; printf('ave=%f\n',xa); for(j=0;j<n;j++) /************found************/ if(x[j]=>xa) c++; return c; } main() {double x[100]={193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763}; printf('%d\n',fun(x,8)); }
进入题库练习
改错题 下列给定程序中,函数fun的功能是:将n个无序整数从小到大排序。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<onio.h> #include<stdio.h> #include<stdlib.h> fun(int n, int *a) { int i, j, p, t; for(j=0; j<n-1; j++) { p=j; /**********found**********/ for(i=j+1; i<n-1; i++) if(a[p]>a[i]) /**********found**********/ t=i; if(p!=j) {t=a[j]; a[j]=a[p];a[p]=t;} } } putarr{int n, int *z) { int i; for(i=1; i<=n; i++, z++) { printf('%4d', *z); if(!(i%10))printf('\n'); } printf('\n'); } void main() { int aa[20]={9,3,0,4,1,2,5,6,8,10,7}, n=11; system('CLS'); printf('\nBefore sorting %d numbers:\n', n); putarr(n, aa); fun(n, aa); printf('\nAfter sorting %d numbers:\n', n); putarr(n, aa); }
进入题库练习
改错题 下列给定程序中,函数fun的功能是:从整数10~55,查找能被3整除且有一位上的数值是5的数,把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定函数中a1放个位数,a2放十位数。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> int fun(int *b) {int k,a1,a2,i=0; for(k=10;k<=55;k++) { /*****************found*****************/ a2=k/10; a1=k-a2*10; if((k%3==0a2==5)||(k%3==0 a1==5)) { b[i]=k;i++; } } /*****************found*****************/ return k; } main() {int a[100],k,m; m=fun(a); printf('The result is:\n'); for(k=0;k<m;k++) printf('%4d',a[k]); printf('\n'); }
进入题库练习
改错题 给定程序MODI1.c中函数fun的功能:根据输入的三个边长(整型值),判断能否构成三角形;构成的是等边三角形,还是等腰三角形。若能构成等边三角形,则函数返回3;若能构成等腰三角形,则函数返回2;若能构成一般三角形,则函数返回1,若不能构成三角形,则函数返回0。 请改正函数fun中指定位置的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序如下: #include stdio.h #include math.h /**************found**************/ void fun(int a,int b,int c) { if(a+bc b+ca a+cb) { if(a==b b==c) return 3; else if(a==b||b==c||a==c) return 2; /**************found**************/ else retrun 1 } else return 0; } main() { int a,b,c,shape; printf('\nInput a,b,c: '); scanf('%d%d%d',a,b,c); printf('\na=%d, b=%d, c=%d\n',a,b,c); shape =fun(a,b,c); printf('\n\nThe shape : %d\n',shape); }
进入题库练习
改错题 下列给定的程序中,函数proc()的功能是:用选择法对数组中的m个元素按从小到大的顺序进行排序。 例如,排序前的数据为:11 32 -5 2 14 则排序后的数据为:-5 2 11 14 32 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: # include <stdio.h> # define M 20 void proc(int a[],int n) { int i,j,t,p; //****found**** for(j=0;j<n-1;j++); { p=j; for(i=j;i<n;i++) if(a[i]<a[p]) p=i; t=a[p]; a[p]=a[j]; //****found**** a[p]=t; } } void main() { int arr[M]={11,32,-5,2,14},i,m=5; printf('排序前的数据:'); for(i=0;i<m;i++) printf('%d',arr[i]); printf('\n'); proc(arr,m); printf('排序后的顺序:'); for(i=0;i<m;i++) printf('%d',arr[i]); printf('\n'); }
进入题库练习
改错题 下列给定的程序中,函数proc()的功能是:将str所指字符串中出现的t1所指字符串全部替换成t2所指字符串,将所形成的新的字符串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。 例如,当str所指字符串中所指的内容为“abcdabcdefg”,t1所指字符串中的内容为“be”,t2所指字符串中的内容为“11”时,结果在w所指数组中的内容应为“a11dalldefg”。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdlib.h> #include<conio.h> #include<stdio.h> #include<string.h> //****found**** int proc(char *str,char *t1,char *t2,char*w) { char*p,*r,*a; strcpy(w,str); while(*w) { p=w;r=t1; //****found**** while(r) if(*r==*p){r++;p++;} else break; if(*r=='\0') { =w;r=t2; //****found**** while(*r){*a=*r;a++;r++} w+=strlen(t2); } else w++; } } void main() { char str[100],t1[100],t2[100],w[100]; system('CLS'); printf('\nPlease enter string str:'); scanf('%s',str); printf('\nPlease enter substring t1:'); scanf('%s',t1); printf('\nPlease enter substring t2:'); scanf('%s',t2); if(strlen(t1)==strlen(t2)) { proc(str,t1,t2,w); printf('\nThe result is:%s\n',w); } else printf('Error: strlen(t2)\n'); }
进入题库练习
改错题 下列给定程序中,函数proc()的功能是:用递归算法计算Fibonacci级数序列中第n项的值。从第一项起,Fibonacci级数序列为1,1,2,3,5,8,13,21,…。 例如,若给n输入8,该项的Fibonacci级数值为21。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdio.h> long proc(int g) { //****found**** switch(g); { case 0:return 0; //****found**** case 1;case 2:return 1; } return(proc(g-1)+proc(g-2)); } void main() { long fib;int n; printf('Input n:');scanf('%d',n); printf('n=%d\n',n); fib=proc(n); printf('fib=%d\n\n',fib); }
进入题库练习
改错题 下列给定程序中,函数fun的功能是:给一维数组a输入任意4个整数,并按如下的规律输出。例如,输入1、2、3、4,程序运行后输出以下方阵: 4 1 2 3 3 4 1 2 2 3 4 1 1 2 3 4 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #define M 4 /**********found**********/ void fun(int a) { int i,j,k,m; printf('Enter 4 number:'); for(i=0;i<M;i++) scanf('%d',a[i]); printf('\n\nThe result:\n\n'); for(i=M;=i>0;i--) { k=a[M-1]; for(j=M-1;j>0;j--) /**********found**********/ a[j]=a[j+1]; a[0]=k; for(m=0;m<M;m++) printf('%d',a[m]); printf('\n'); } } void main() { int a[M]; fun(a); printf('\n\n'); }
进入题库练习
改错题下列给定程序中函数fun的功能是:用递归算法求形参a的平方根。求平方根的迭代公式如下:例如,a为2时,平方根值为1.414214。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<math.h>#include<stdio.h>/**********found**********/fun(doublea,doublex0){doublex1,y;x1=(x0+a/x0)/2.0;/**********found**********/if(fabs(x1-x0)<0.00001)y=fun(a,x1);elsey=x1;returny;}voidmain(){doublex;printf('Enterx:');scanf('%lf',x);printf('Thesquarerootof%lfis%lf\n',x,fun(x,1,0));}
进入题库练习
改错题 给定程序MODI1.C中函数fun的功能是:先将s所指字符串中的字符按逆序存放到t所指字符串中,然后把S所指串中的字符按正序连接到t所指串的后面。 例如:当s所指的字符串为:“ABCDE”时,则t所指的字符串应为:“EDCBAABCDE”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include<stdio.h> #inelude<string.h> void fun(char *s, char *t) { /**********found**********/ int i; i=0; s1=strlen(s); for(;i<s1; i++) /**********found**********/ t[i]=s[s1-i]; for(i=0; i<s1; i++) t[s1+i]=s[i]; t[2*s1]='\0'; } main() { char s[100], t[100]; printf('\nPlease enter string s:'); scanf('%s', s); fun(s, t); printf('The result is:%s\n', t); }
进入题库练习
改错题下列给定程序中,函数fun的功能是:根据整数形参m的值,计算如下公式的值。例如,若m中的值为5,则应输出0.536389。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#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));}
进入题库练习
改错题 下列给定程序中,函数fun的功能是:求出s所指字符串中最后一次出现的t所指字符串的地址,并通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。 例如,当字符串中的内容为“abcdabfabcdx”,t中内容为“ab”时,输出结果应是“abcdx”。 当字符串中的内容为“abcdabfabcdx”,t中内容为“abd”时,则程序输出未找到信息“Notfound!”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <string.h> 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; } void main() { char s[100],t[100],*p; system('CLS'); 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的功能:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为87653142时,t中的数为7531。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序如下: #include stdio.h void fun (long s, long *t) { int d; long sl=1; /************found************/ t = 0; while ( s 0) { d = s%10; /************found************/ if (d%2 == 0) { *t = d * sl + *t; sl *= 10; } s /= 10; } } main() { long s, t; printf('\nPlease enter s:'); scanf('%ld', s); fun(s, t); printf('The result is: %ld\n', t); }
进入题库练习
改错题 下列给定程序中,函数fun的功能是:判断ch中的字符是否与str所指串中的某个字符相同,若相同,什么也不做;若不同,则将其插在串的最后。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include <stdio.h> #include <string.h> /********found********/ void fun(char str,char ch) {while(*str *str!=ch)str++; /********found********/ if(*str==ch) {str[0]=ch; /********found********/ str[1]='0'; } } main() {char s[81],c; printf('\nPlease enter a string:\,n');gets(s); printf('\n Please enter the character to search:'); c=getchar(); fun(s,c); printf('\nThe result is %s\n',s); }
进入题库练习
改错题 给定程序MODI1.c中函数fun的功能:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之和。 请改正函数fun中的错误或在横线处填上适当的内容,并把横线删除,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序如下: #include stdio.h void fun() { int a[3][3],sum; int i,j; /*********found**********/ ______; printf('Input data:'); for (i=0;i3;i++) { for (j=0;j3;j++) /*********found**********/ scanf('%d',a[i][j]); } for (i=0;i3;i++) sum=sum+a[i][i]; printf('Sum=%d\n',sum); } main() { fun(); }
进入题库练习
改错题 给定程序中函数fun的功能是:计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不等,z和y的值不等。 例如,当x的值为9、y的值为11、z的值为15时,函数值为-3.50。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 给定源程序: #include <stdio.h> #include <math.h> #include <stdlib.h> /**********found**********/ #define FU(m,n)(m/n) float fun(float a,float b,float c) { float value; value=FU(a+b,a-b)+FU(c+b,c-b); /**********found**********/ Return(Value); } main() { float x,y,z,sum; printf('Input x y z:'); scanf('%f%f%f',x,y,z); printf('x=%f,y=%f,z=%f\n',x,y,z); if(x==y||y==z){printf('Data error!\n');exit(0);} sum=fun(x,y,z); printf('The result is:%5.2f\n',sum); }
进入题库练习