计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
C语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
改错题 下列给定程序中,函数proc()的功能是:计算并输出下列级数的前N项之和SN,直到SN+1大于q为止,q的值通过形参传入。 SN=2/1+3/2+4/3+(N+1)/N 例如,若q的值为57,则函数值为59.593612。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdlib.h> #include<conio.h> #include<stdio.h> //****found**** double proc(double q) { int n;double sum,t; n=2; sum=2.0; while(sum<=q) { t=sum; //****found**** sum=sum+(n+1)/n; n++; } //****found**** return sum; } void main() { system('CLS'); printf('%f\n',proc(60)); }
进入题库练习
改错题 下列给定程序中,函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。 例如,若num1和num2分别为49和21,则输出的最大公约数为7;苦num1和num2分别为27和81,则输出的最大公约数为27。 清改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> int fun(int a,int b) {int r,t; if(a<b) {t=a;b=a;a=t; /*****************found*****************/ } r=a%b; while(r!=0) {a=b;b=r;r=a%b;} /*****************found*****************/ return(a); } void main() {int num1,num2,a; printf('Input num1 num2:'); scanf('%d%d',num1,num2); printf('num1=%d num2=%d\n\n',num1,num2); a=fun(num 1,num2); printf('The maximun common divisor is%d\n\n',a); }
进入题库练习
改错题 给定程序中函数fun的功能是:判断ch中的字符是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。 请改正程序中的错误,使它能进行正确的操作。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include <stdio.h> #include <string.h> /**********found**********/ void fun(char str, char ch) { while(*str*str!=ch)str++; /**********found**********/ if (*sfr==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的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include<stdio.h> #include<stdlib.h> #include<string.h> #define N 10 typedef struct ss {char num[10]; int s; }STU; STU*fun(STU a[],int m) {STU b[N],*t; int i,j,k; /**********found**********/ t=(STU*)calloc(sizeof(STU),m) for(i=0;i<N;i++)b[i]=a[i]; for(k=0;k<m;k++) {for(i=j=0;i<N;i++) if(b[i].s>b[j].s)j=i; /**********found**********/ t(k)=b(j); b[j].s=0; } return t; } void outresuh(STU at],FILE*pf) {int i; for(i=0;i<N;i++) fprintf(pf,'No=%s Mark=%d\n',a[i],num,a[i].s); fprintf(pf,'\n\n'); } main() {STU a[N]={{'A01',81},{'A02',89},{'A03',66},{'A04',87},{'A05',77},{'A06',90},{'A07',79},{'A08',61},{'A09',80},{'A10',71}}; STU*pOrder; int i,m; printf('*****The Original data*****\n'); outresult(a,stdout); printf('\nGive the number of the students who have better score:'); scanf('%d',m); while(m>10) {printf('\nGive the number of the students who have better score:'); scanf('%d',m); } pOrder=fun(a,m); printf('*****THE RESULT*****\n'); printf('The top:\n'); for(i=0;i<m;i++) printf('%s %d\n',pOrder[i].num,pOrder[i].s); free(pOrder); }
进入题库练习
改错题 给定程序中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-1)=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('\nAfterchanging:\n%s', chrstr); }
进入题库练习
改错题 给定程序中函数fun的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。 例如:若输入:THIs is a boot,则输出应该是:1、0、2、2、0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include<stdio.h> void fun(char *s, int num[5]) { int k, i=5; for(k=0; k<i; k++) /**********found**********/ num[i]=0; for(; *s; s++) { i=-1; /**********found**********/ switch(s) { case'a':case'A':{i=0; break;} case'e':case'E':{i=1; break;} case'i':case'I':{i=2; break;} case'o':case'O':{i=3; break;} case'u':case'U':{i=4; break;} } if(i>=0) num[j]++; } } main() { char s1[81]; int num1[5], i; printf('\nPlease enter a string:'); gets(s1); fun(s1, num1); for(i=0; i<5; i++)printf('%d', num1[i]); printf('\n'); }
进入题库练习
改错题给定程序MODI1.c中函数fun的功能:根据整型形参n,计算如下公式的值。例如,若n=10,则应输出0.617977。请改正程序中的语法错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序如下:#includestdio.h/************found************/intfun(intn){floatA=1;inti;/************found************/for(i=2;in;i++)/************found************/A=1/A+1;returnA;}main(){intn;printf('\nPleaseentern:');scanf('%d',n);printf('A%d=%f\n',n,fun(n));}
进入题库练习
改错题 给定程序中函数fun的功能是:计算整数n的阶乘。 请改正程序中的错误或在下划线处填上适当的内容,使它能计算出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include <stdio.h> double fun(int n) { double result=1.0; while (n>1n<170) /**********found**********/ result*=--n; /**********found**********/ return ______; } main() { int n; printf('Enter an integer:'); scanf('%d',n); printf('\n\n%d!=%lg\n\n',n,fun(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));}
进入题库练习
改错题 给定程序中函数fun的功能是:判断一个整数是否是素数,若是返回1,否则返回0。在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数。不得增行或删行,也不得更改程序的结构! 给定源程序: #include<stdio.h> int fun(int m) { int k=2; while(k<=m(m%k)) /**********found**********/ k++ /**********found**********/ if(m=k) return 1; else return 0; } main() { int n; printf('\nPlease enter n:'); scanf('%d', n); if(fun(n))printf('YES\n'); else printf('NO!\n'); }
进入题库练习
改错题 给定程序中函数fun的功能是:判断ch中的字符是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。 请改正程序中的错误,使它能进行正确的操作。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include <stdio.h> #include <string.h> /**********found**********/ void fun(char str, char ch) { while(*str*str!=ch)str++; /**********found**********/ if (*sfr==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); }
进入题库练习
改错题 给定程序中函数fun的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。例如,当a所指字符串中的内容为“abcdefg”,b所指字符串中的内容为“1234”时,c所指数组中的内容应该为“a4b3c2d1efg”;而当a所指字符串中的内容为“1234”,b所指字符串中的内容为“abcdefg”时,c所指数组中的内容应该为“1g2f3e4dcba”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动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的功能是:从整数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==0a1==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的功能:根据整型形参m的值,计算如下公式的值。例如,m中的值为5,则应输出0.536389。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序如下:#includestdio.hdoublefun(intm){doubley=1.0;inti;/**************found**************/for(i=2;im;i++)/**************found**************/y-=1/(i*i);return(y);}main(){intn=5;printf('\nTheresultis%lf\n',fun(n));}
进入题库练习
改错题 下列给定程序中,函数proc()的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<string.h> #include<stdlib.h> #include<conio.h> #include<stdio.h> #define MAX 20 void proc(char*pstr[6]) { int i,j; char*p; for(i=0;i<5;i++) for(j=i+1;j<6;j++) //****found**** if(strcmp((pstr+i),(pstr+j))>0) { p=*(pstr+i); *(pstr+i)=*(pstr+j); //****found**** *(pstr+j)=*p; } } void main() { int i; char *p[6],str[6][MAX]; system('CLS'); for(i=0;i<6;i++) p[i]=str[i]; printf('\nEnter6 string(1 string at each line):\n'); for(i=0;i<6;i++) scanf('%s',p[i]); proc(p); printf('The strings after sorting:\n'); for(i=0;i<6;i++) printf('%s\n',p[i]); }
进入题库练习
改错题 数列中,第一项的值为3,后一项都比前一项的值增5;给定程序MODI1.c中函数fun的功能:计算前n(4<n<50)项的累加和;每累加一次把被4除后余2的当前累加值放入数组中,符合此条件的累加值的个数作为函数值返回主函数。 例如,当n的值为20时,该数列为3,8,13,18,23,28,…,93,98。符合此条件的累加值应为42,126, 366,570,1010。 请改正函数fun中指定位置的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序如下: #include stdio.h #define N 20 int fun(int n,int *a) { int i,j,k,sum; /**************found**************/ sum=j==0; for(k=3,i=0;in;i++,k+=5) { sum=sum+k; /**************found**************/ if(sum%4=2) a[j++]=sum; } return j; } main() { int a[N],d,n,i; printf('\nEnter n (4n=50): ');scanf('%d',n); d=fun(n,a); printf('\n\nThe result :\n'); for(i=0; id; i++)printf('%6d',a[i]);printf('\n\n'); }
进入题库练习
改错题给定程序中函数fun的功能是:求s的值。例如,当k为10时,函数值应为:1.533852。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#include<stdio.h>#include<math.h>/************found************/voidfun(intk){intn;doubles,w,p,q;n=1;s=1.0;while(n<=k){w=2.0*n;p=w-1.0;q=w+1.0;s=s*w*w/p/q;n++;}/************found************/returns}main(){printf('%f\n',fun(10));}
进入题库练习
改错题 下列给定程序中,函数proc()的功能是:首先把b所指字符串中的字符按逆序存放,然后将str1所指字符串中的字符和str2所指字符串中的字符,按排列的顺序交叉合并到str所指数组中,过长的剩余字符接在str所指数组的尾部。 例如,当str1所指字符串中的内容为“ABCDEFG”,str2所指字符串中的内容为“1234”时,str所指数组中的内容应该为“A483C2D1EFG”;而当str1所指字符串中的内容为“1234”,str2所指字符串中的内容为“ABCEDFG”时,str所指数组中的内容应该为“1G2F3E4DCBA”。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdlib.h> #include<conio.h> #include<stdio.h> #include<string.h> void proc(char *str1,char *str2,char *str) { int i,j;char ch; i=0;j=strlen(str2)-1; //****found**** while(i>j) { ch=str2[i]:str2[i]=str2[j];str2[j]=ch; i++;j--; } while(*str1||*str2) { if(*str1){*str=*str1;str++;str1++;} if(*str2){*str=*str2;str++;str2++;} } //****found**** *str=0: } void main() { char s1[100],s2[100],t[200]; system('CLS'); printf('\nEnter s1 string:'); scanf('%s',s1); printf('\nEnter s2 string:'); scanf('%s',s2); proc(s1,s2,t); printf('\nThe result is:%s\n',t); }
进入题库练习
改错题 给定程序中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,并且覆盖原串。 注意:字符串的长度最长允许为79。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include<stdio.h> #include<string.h> void fun(char s[],int n) { char a[80],*p; int i; /**********found**********/ s=p; for(i=0;i<n;i++)a[i]='*'; do {a[i]=*p; i++; } /**********found**********/ while(*p++) a[i]=0; strcpy(s,a); } main() {int n; char s[80]; printf('\nEnter a string:');gets(s); printf('\nThe string\'%s\'\n',s); printf('\nEnter n(number of*):'); scanf('%d',n); fun(s,n); printf('\nThe string after insert:\'%s\'\n',s); }
进入题库练习