二级C语言题库-改错题.pdf

上传人:文*** 文档编号:88051304 上传时间:2023-04-20 格式:PDF 页数:120 大小:9.10MB
返回 下载 相关 举报
二级C语言题库-改错题.pdf_第1页
第1页 / 共120页
二级C语言题库-改错题.pdf_第2页
第2页 / 共120页
点击查看更多>>
资源描述

《二级C语言题库-改错题.pdf》由会员分享,可在线阅读,更多相关《二级C语言题库-改错题.pdf(120页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、二级C语言题库-改错题1.下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。和值通过函数值返回。例如,若 n=5,则应输出8.391667。请改正程序中的错误,使其得出正确的结果。注意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改的程序的结构!#include/*fou nd*Ivoid fun(int n)int a,b,c,k;double s;s=0.0;a=2;b=1;for(k=1;k=n;k+)/*found*Is=s+(Double)a/b;c=a;a=a+b;b=c;return s;)main()int n=5;printf(nThe value

2、 of function is:%lfn,fun(n);)【参考答案】(l)double fun(int n)(2)s=s+(double)a/b;第1页 第1页二级C语言题库-改错题2.下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。例如,若字符串为aaas lkaaas,子字符串为as,则应输出2。请改正程序中的错误,使它能得出正确的结果。注 意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改的程序的结构!#include int fun(char*str,char*substr)int i,j,k,num=O;/*f)u nd

3、*Ifor(i=0,stri,i+)for(j=i,k=0;substrk=strj;k+,j+)/*fou nd*IIf(substrk+l=0)num+;break;return num;main()char str80,substr80;printf(Input a string:);gets(str);printf(Input a substring:);gets(substr);printf(%dn,fun(str,substr);)第2页 第2页二级c语 言 题 库-改 错 题【参考答案】(l)for(i=0;stri;i+)(2)if(substrk+l=0)3.下列给定程序中函

4、数fun的功能是:实现两个变量值的交换,规定不允许增加语句和表达式。例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。请改正程序中的错误,使它得出正确的结果。注意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改程序的结构!#include int fun(int*x,int y)in tt;!*u n*!t=x;x=y;!*f u n ci*!return(y);)main()int a=3,b=8;printf(%d%dn,a,b);b=fun(&a,b);printf(%d%dn,a,b);第3页第3页二级C语言题库-改错题【参考答案】(l)t=

5、*x;*x=y;(2)return(t);或 return t;4.下列给定程序中函数fun的 功 能 是:求两个非零正整数的最大公约数,并作为函数值返回。例 如,若num l和num2分别为49和21,则输出的最大公约数为7;若num l和num2分 别 为27和81,则输出的最大公约数为27O请改正程序中的错误,使它能得出正确结果。注 意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改程序的结构。#include int fun(int a,int b)int r,t;if(ab)/*fou nd*It=a;b=a;a=t;)r=a%b;while(r!=O)a=b;b=r;

6、r=a%b;!*!return(a);)main()int numl,num2,a;printf(Input numl num2:);scanf(%d%d,&numl,&num2);printf(numl=%d num2=%dnn,numl,num2);a=fun(numl,num2);printf(The maximun common divisor is%dnn,a);第4页 第4页二级C语言题库-改错题)【参考答案】(1)t=a;a=b;b=t;(2)return(b);或 return b;5.下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t

7、中。高位仍在高位,低位仍在低位。例如,当 s 中的数为87653142时,t 中的数为7531.请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改的程序的结构!#include void fun(long s,long*t)int d;long sl=l;/*fo u n d*It=0;while(s 0)d=s%10;/*fou nd*Iif(d%2=0)*t=d*si+*t;si*=10;)s/=10;)main()long s,t;printf(nPlease enter s:);scanf(%ld,&s);第5页 第5页二级C语

8、言题库-改错题fun(s,&t);printf(The result is:%ldn,t);)【参考答案】(l)*t=O;(2)if(d%2!=0)或 if(d%2=l)6.下列给定程序中函数fun的 功 能 是:用递归算法计算斐波拉契数列中第n项的值。从第1项 起,斐波拉契数列为:1、1、2、3、5、8、13、21.例 如,若 给n输 入7,则该项的斐波拉契数值为13。请改正程序中的错误,使它能得出正确结果。注 意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改程序的结构。#include long fun(int g)/*fou nd*Iswitch(g);case 0:re

9、turn 0;/*fou nd*Icase 1;case 2:return 1;return(fun(g-l)+fun(g-2);)main()long fib;int n;printf(Input n:scanf(%d,&n);printf(n=%dn,n);fib=fun(n);printf(fib=%dnn,fib);第6页 第6页二级C语言题库-改错题【参考答案】(1)去掉分号(2)case l:case 2:return 1;7.下列给定程序中函数fun的 功 能 是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。例 如,若 给a输入字符串:ABCDEFG

10、KHIJK,调用函数后,字符数组b中的内容为:ABCDEF GHI JKO请改正程序中的错误,使它能得出正确结果。注 意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改程序的结构。#include void fun(char*p,char*b)int i,k=0;while(*p)i=l;while(iO;)main()char a80,b80;第7页 第7页二级C语言题库-改错题printf(Enter a string:);gets(a);printf(The original string:);puts(a);fun(a,b);printf(nThe string afte

11、r insert space:);puts(b);printf(nn);)【参考答案】(1)bk=*p;bk=-;k+;8.下列给定程序中函数fun的 功 能 是:将tt所指字符串中的小写字母全部改为对应的大写 字 母,其它字符不变。例 如,若输入Ab,CD,则输出AB,CDO请改正程序中的错误,使它能得出正确的结果。注 意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改程序的结构!#include#include char*fun(char tt)int i;for(i=0;tti;i+)/*f o u n d*Iif(a=tti)|(tti=a)&(tti=z)(2)tti-

12、=32;9.下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改程序的结构!#include#include#define MAXLINE 20fun(char*pstr6)int i,j;char*p;for(i=0;i 5;i+)!*u n*!for 0=i+1,j 0)p=*(pstr+i);!*u n*!*(pstr+i)=pstr+j;*(pstr+j)=p;第9页 第9页二级C语言题库-改错题)main()in ti;char*pstr6,str6MAXLIN

13、E;for(i=0;i 6;i+)pstri=stri;printf(nEnter 6 string(l string at each line):n);for(i=0;i 6;i+)scanf(%s,pstri);fun(pstr);printf(The strings after sorting:n);for(i=0;i 6;i+)printf(%sn,pstri);)【参考答案】for(j=i+1;j 6;j+)(2)*(pstr+i)=*(pstr+j);10.下列给定程序中函数fun的 功 能 是:计算正整数num各位上的数字之积。例 如,若 输 入252,则输出应该是20。若 输

14、入202,则输出应该是0。请改正程序中的错误,使它能得出正确的结果。注 意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!#include long fun(long num)/*/第10页 第10页二级C语言题库-改错题long k;do k*=num%10;/*nd*Inum=10;while(num);return(k);)main()long n;printf(nPlease enter a number:);scanf(%ld,&n);printf(n%ldn,fun(n);【参考答案】(l)long k=l;(2)num/=10;IL 下列给定程序中函数f

15、un的功能是:把从主函数中输入的3 个数,最大的数放在a中,中间的数放在b 中,最小的数放在c 中。例如,若输入的数为:55 12 34,输出的结果应当是:a=55.0,b=34.0,c=12.0o请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构。#include void fun(float*a,float*b,float*c)(/*fo u n d*/float*k;if(*a*c)k=*c;*c=*a;*a=k;if(*b*c)k=*b;*b=*c;*c=k;)main()float a,b,c;

16、printf(Input a b c:);scanf(%f%f%f,&a,&b,&c);printf(a=%4.1f,b=%4.1f,c=%4.1fnn,a,b,c);fun(&a,&b,&c);printf(a=%4.1f,b=%4.1f,c=%4.1fnn,a,b,c);【参考答案】(l)float k;(2)if(*a*c)12.下列给定程序中函数fun的功能是:逐个比较p、q 所指两个字符串对应位置上的字符,并把ASCH值大或相等的字符依次存放到c 所指的数组中,形成一个新的字符串。例如,若主函数中a 字符串为aBCDeFgH,b 字符串为ABcd,则 c 中的字符串应为aBcdeFg

17、H.请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改的程序的结构!#include#include void fun(char*p,char*q,char*c)int k=1;第12页 第12页二级C语言题库-改错题while(*p!=*q)if(*p*q)ck=*q;else ck=*p;if(*P)P+;if(*q)q+;k+;)main()char a10=aBCDeFgH,b10=ABcd,c80=0;fun(a,b,c);printf(The string a:);puts(a);printf(The string b:);

18、puts(b);printf(The result:);puts(c);)【参考答案】(1)int k=0;(2)while(*p|*q)13.下列给定程序中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函数。请改正程序中的错误,使它能计算出正确的结果。第13页 第13页二级C语言题库-改错题注意:部分源程序在文件M0DI1.C中,不得

19、增行或删行,也不得更改程序的结构!#include long fun(int a,int n)int j;!*f u n*!long s=0,t=1;for(j=0;j n;j+)t=t*10+a;s=tfor(j=1;j n;j+)!*u*!t=t%10;s=s-1)return(s);)main()int a,n;printf(nPlease enter a and n:);scanf(%d%d,&a,&n);printf(The value of function is:%ldn,fun(a,n);)【参考答案】(l)long s=0,t=0;出1=10;第1 4页 第1 4页二级C语言

20、题库-改错题14.下列给定程序中函数fun的 功 能 是:从 整 数1到55之 间,查找能被3整除且有T 立上的数值是5的 数,把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定函数中al放 个 位 数,a2放十位数。请改正程序中的错误,使它能得出正确的结果。注 意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改的程序的结构!#include int fun(int*b)int k,al,a2,i=0;for(k=10;k=55;k+)/*fo u n d*Ia2=k/10;al=k-a2*10;jf(k%3=0&a2=5)|(k%3=0&al=5)bi=k;i+;)/

21、*nd*!return k;)main()int a100,k,m;m=fun(a);printf(The result is:n);for(k=0;km;k+)printf(%4d,ak);printf(n);【参考答案】a2=k/10;(2)return i;第15页 第15页二级C语言题库-改错题15.下列给定程序中函数fun的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。例如,若字符串为abed,则应输出:dcbao请改正程序中的错误,使它能得出正确的结果。注 意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改程序的结构!#include/*nd*Ivoid

22、fun(char a)if(*a)fun(a+l);!*u*!printf(%c*a);)main()char s10=abcd;printf(处理前字符串=%sn处理后字符串=,s);fun(s);printf(n);)【参考答案】(l)void fun(char*a)(2)printf(%c,*a);16.下列给定程序中函数fun的功能是:将一个由/曲制数字字符组成的字符串转换成与其面值相等的十进制整数。规定输入的字符串最多只能包含5 位八进制数字字符。例如,若输入77777,则输出327670请改正程序中的错误,使它能得出正确结果。第1 6页 第1 6页二级C语言题库-改错题注 意:部分

23、源程序在文件M0DI1.C中,不得增行或删行,也不得更改程序的结构。#include int fun(char*p)int n;/*ou nd*In=*P-o;P+;while(*p!=0)/*fou nd*In=n*8+*P-o;P+;)return n;)main()char s6;int i;int n;printf(Enter a string(Ocatal digits):);gets(s);if(strlen(s)5)printf(Error:String too longer!nn);exit(0);for(i=0;si;i+)if(si,7,)printf(Error:%c n

24、ot is ocatal digits!nn,si);exit(O);printf(The original string:);puts(s);n=fun(s);printf(n%s is convered to integer number:%dnn,s,n);)【参考答案】(l)n=*p-O;(2)n=n*8+*p-0;第17页 第17页二级C语言题库-改错题17.下列给定程序中函数fun的功能是:将长整型数中各位上为偶数的数依次取出,构成一个新数放在t 中。高位仍在高位,低位仍在低位。例如,当 S中的数为87653142时,t 中的数:8642。请改正程序中的错误,使它能得出正确的结果。

25、注 意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改程序的结构!#include void fun(long s,long*t)int d;long sl=l;*t=0;while(s 0)d=s%10;/*ou nd*Iif(d%2=0)*t=d*sl+*t;si*=10;!*!s=10;)main()long s,t;printf(nPlease enter s:);scanf(%ld,&s);fun(s,&t);printf(The result is:%ldn,t);)第18页 第18页二级C语言题库-改错题【参考答案】(l)if(d%2=0)(2)s/=10;18.下

26、列给定程序中函数fun的功能是:计算并输出high以内最大的10个素数的和。high的值由主函数传给fun函数。例如,若high的值为100,则函数的值为7320请改正程序中的错误,使程序能输出正确的结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!#include#include int fun(int high)int sum=0,n=0,j,yes;/*fou nd*Iwhile(high=2)&(n 10)yes=1;for(j=2;j=2)&(n10)(2)yes=0;break;19.下 列 给 定 程 序 中 函 数fun的 功 能 是:删 除s

27、所 指 字 符 中 所 有 的 小 写 字 母c。请 改 正 程 序 中 的 错 误,使 它 能 得 出 正 确 的 结 果。注 意:部 分 源 程 序 在 文 件MODI1.C中,不 得 增 行 或 删 行,也 不 得 更 改 的 程 序 的 结 构!#include void fun(char*s)int i,j;for(i=j=0;si!=0;i+)if(si!=c)/*fou nd*IsU=si;/*nd*Isi=0;)main()char s80;printf(Enter a string:);gets(s);printf(The original string:);puts(s);

28、fun(s);printf(The string after deleted:);puts(s);printf(nn);)【参 考 答 案】(l)sj+=si;pgsU=si;j+;)sj=0;第20页 第20页二级C语言题库-改错题20.下列下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s 中奇数位上的数,构成一个新数存放在t 中。高位仍在高位,低位仍在低位。例如,当 s 中的数为7654321时,t 中的数为7531.请改正程序中的错误,使它能得出正确的结果。注 意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!#include/*n d*Ivo

29、id fun(long s,long t)long sl=10;*t=s%10;while(s 0)s=s/100;*t=s%10*si+*t;!*!si=sl*100;main()long s,t;printf(nPlease enter s:);scanf(%ld,&s);fun(s,&t);printf(The result is:%ldn,t);)【参考答案】(l)void fun(long s,long*t)(2)sl=sl*10;第2 1页 第2 1页二级C语言题库-改错题21.下列给定程序中函数fun的功能是计算S=f(-n)+f(-n+1)+f(0)+f(l)+f(2)+.+f

30、(n)的值。例如,当 n 的值为5 时,函数值应为10.407143。f(x)函数定义如下:f(x)=(x+l)/(x-2)x0 且 xH2f(x)0 x=0 或 x=2(x-l)/(x-2)x0请改正程序中的错误,使程序能输出正确的结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!#include#include#include#include f(double x)if(x=0.0|x=2.0)return 0.0;else if(x0.0)return(x-l)/(x-2);elsereturn(x+l)/(x-2);)double fun(int n)

31、int i;double s=0.0,y;第2 2页 第2 2页二级c语言题库-改错题for(i=-n;i=n;i+)y=f(1.0*i);s+=y;/*fu n d*Ireturn svoid main()system(CLS);printf(%fn,fun(5);【参考答案】(l)double f(double x)(2)return s;22.下列给定程序中函数fun的 功 能 是:求三个数的最小公倍数。例 如,若给主函数中的变量x l、x2、X3分别输入15 11 2,则输出结果应当是330。请改正程序中的错误,使它能得出正确的结果。注 意:部分源程序在文件MODI1.C中,不得增行或

32、删行,也不得更改的程序的结构!#include!*!fun(int x,y,z)int j,t,n,m;j=1;t=j%x;m=j%y;n=j%z;while(t!=0|m!=0|n!=0)第2 3页 第2 3页二级C语言题库-改错题 j=j+l;t=j%x;m=j%y;n=j%z;)/*nd*Ireturn i;)main()int xl,x2,x3,j;printf(Input xl x2 x3:);scanf(%d%d%d,&xl,&x2,&x3);printf(xl=%d,x2=%d,x3=%d n,xl,x2,x3);j=fun(xl,x2,x3);printf(The minima

33、l common multiple is:%dn,j);)【参考答案】(l)fun(int x,int y,int z)或 int fun(int x,int y,int z)(2)return j;23.下列给定程序中函数fun的功能是:将 s 所指字符串中出现的与t l 所指字符串相同的子串全部替换为t2所指字符串,所形成的新串放在w 所指的数组中。要求t l 和 t2所指字符串的长度相同。例如,当 s 所指字符串中的内容为abcdabfab,t l 所指子串中的内容为ab,t2所指子串中的内容为99时,在 w 所指的数组中的内容应为99cd99f99。请改正程序中的错误,使它能得出正确的

34、结果。注 意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!#include#include 第2 4页 第2 4页二级C语言题库-改错题void fun(char*s,char*tl,char*t2,char*w)char*p,*r,*a;strcpy(w,s);while(*w)p=w;r=tl;/*nd*Iwhile(r)if(*r=*p)r+;p+;else break;if(*r=0)a=w;r=t2;while(*r)/*fou nd*I*a=*r;a+;r+)w+=strlen(t2);else w+;)main()char s100,tl100,t21

35、00,w100;printf(nPlease enter string S:);scanf(%s,s);printf(nPlease enter substring tl:);scanf(%s,tl);printf(nPlease enter substring t2:);scanf(%s,t2);if(strlen(tl)=strlen(t2)fun(s,tl,t2,w);第2 5页 第2 5页二级C语言题库-改错题printf(nThe result is:%sn,w);)else printf(Error:strlen(tl)!=strlen(t2)n);)【参考答案】(l)while(

36、*r)(2)*a=*r;a+;r+;24.下列给定程序中函数fun的功能是:从 N 个字符串中找出最长的串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改的程序的结构!#include#include#define N 5#define M 81/*fu n d*Ifun(char(*sq)M)int i;char*sp;sp=sqO;for(i=0;iN;i+)if(strlen(sp)strlen(sqi)sp=sqi;/*fou nd*Ireturn s

37、q;)main()char strNM,*longest;int i;第2 6页 第2 6页二级C语言题库-改错题printf(Enter%d lines:n,N);for(i=0;iN;i+)gets(stri);printf(nThe N string:n,N);for(i=0;iN;i+)puts(stri);longest=fun(str);printf(nThe longest string:n);puts(longest);)【参考答案】(l)char*fun(char(*sq)M)(2)return sp;25.由N 个有序整数组成的数列已放在一维数组中,下列给定程序中函数fun

38、的功能是:利用折半查找法查找整数m 在数组中的位置。若找到,返回其下标值;否则,返回-1。折半查找的基本算法是:每次查找前先确定数组中待查的范围low和 high(lowhigh,查找结束。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。#include#define N 10/*fou nd*Ivoid fun(int a,int m)int low=0,high=N-l,mid;while(low=high)mid=(low+high)/2;if(m amid)low=mid+l;else return(mid);)r

39、eturn(-l);main()int i,aN=-3,4,7,9,13,45,67,89,100,180,k,m;printf(a数组中的数据如下:);for(i=0;i=0)printf(m=%d,index=%dn,m,k);else printf(Not be found!n);)【参考答案】(l)int fun(int a,int m)或 fun(int a,int m)(2)else if(mamid)26.下列给定程序中函数fun的功能是:从低位开始依次取出长整型变量s 中偶数位上的数,构成一个新数放在t 中。高位仍在高位,低位仍在低位。例 如,当 s 中的数为7654321时,

40、t 中的数为642O请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!#include 第2 8页 第2 8页二级C语 言 题 库-改 错 题/*f)u nd*!void fun(long s,long t)long sl=10;s/=10;*t=s%10;/*nd*Iwhile(s 0)27.下列给定程序中函数fun的功能是:用递归算法求形参a 的平方根。求平方根的迭代公式如下:例如,a 为 2 时,平方根值为:1.414214。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不得增行或

41、删行,也不得更改的程序的结构!第 29页第29页二级c语言题库-改错题#include#include/*nd*Ifun(double a,dounle xO)double xl,y;xl=(xO+a/x0)/2.0;/*f1 u nd*Iif(fabs(xl-x0)=0.00001)28.下列给定程序中函数fun的 功 能 是:用选择法对数组中的n个元素进行升序排列。请修改程序中的错误,使它能得出正确的结果。注 意:部分源程序在文件MODI1.C中,不得增行和删行,也不得更改程序的结构!#include#define N 20void fun(int a,int n)int i,j,t,p;

42、for(j=0;j n-1;j+)第30页第30页二级C语言题库-改错题p=Jfor(i=j;i n;i+)if(ai ap)/*f)u nd*Ip=J;t=ap;ap=aj;aj=t;)main()int aN=9,6,8,3,-l,i,m=5;printf(排序前的数据:);for(i=0;i m;i+)printf(%d,ai);printf(n);fun(a,m);printf(排序后的数据:);for(i=0;i m;i+)printf(%d,ai);printf(n);)【参考答案】(l)P=j;(2)P=i;29.下列给定程序中函数fun的功能是:计算函数F(x,y,z)=(x+

43、y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不相等,z和y的值不相等。例如,当x的值为9,y的值为11,z的值为15时,函数值为-3.50。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。#include 第3 1页 第3 1页二级c语言题库-改错题#include#include/*nd*I#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);/*fo u n d*IR

44、eturn(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=%fn,x,y,z);if(x=y|y=z)printf(Data error!n);exit(0);sum=fun(x,y,z);printf(The result is:%5.2fn,sum);【参考答案】#define FU(m,n)(m)/(n)(2)return(value);30.下列给定程序中函数fun的功能是:用插入排序法对字符串中的字符进行升序排列。插入法的基本算法是:先对头两个字符进行

45、排序,然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中,.待排序的字符串已在主函数中赋予。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改的程序的结构!第3 2页 第3 2页二级c语言题库-改错题#include#include#define N 80void insert(char*aa)int i,j,n;char ch;/*fu n d*In=strlen aa;for(i=l;i=0)&(chaaj)aaj+l=aaj;j-;)aaj+l=ch;)main()char aN=QWE

46、RTYUIOPASDFGHJKLMNBVCXZ;printf(The original string:%sn,a);insert(a);printf(The string after sorting:%snn,a);)【参 考 答 案】(l)n=strlen(aa);(2)ch=aai;第33页 第33页二级C语言题库-改错题31.下列给定程序中函数fun的 功 能 是:判断一个整数是否为素数,若是素数返回1,否则 返 回0。在main。函 数 中,若fun返 回1输 出YES,若fun返 回0输 出NO!。请改正程序中的错误,使它能得出正确的结果。注 意:部分源程序在文件MODI1.C中,不

47、得增行或删行,也不得更改的程序的结构!#include#include#include int fun(int m)int k=2;while(k=m&(m%k)!*ncl*!k+!*f i j *!if(m=k)return 1;else return 0;void main()int n;system(CLS);printf(nPlease enter n:);scanf(%d,&n);if(fun(n)printf(YESn);else printf(NO!n);)【参考答案】正 确:k+;第3 4页 第3 4页二级C语言题库-改错题(2)正 确:if(m=k)32.下列给定程序中函数f

48、un的 功 能 是:将s所指字符串的正序和反序进行连接,形成的新串放在t所指的数组中。例 如,当s所指字符串为:ABCD时,t所指字符串中的内容应为:ABCDDCBA1;请改正程序中的错误,使它能得出正确的结果。注 意:部分源程序在文件M0DI1.C中,不得增行或删行,也不得更改的程序的结构!#include#include/*nd*Ivoid fun(char s,chart)int i,d;d=strlen(s);for(i=0;id;i+)ti=si;for(i=0;id;i+)td+i=sd-l-i;/*nd*It2*d-l=0;)main()char s100,t100;printf

49、(nPlease enter string S:);scanf(%s,s);fun(s,t);printf(nThe result is:%sn,t);【参考答案】第3 5页 第3 5页二级C语言题库-改错题(l)void fun(char*s,char*t)(2)t2*d=0;或 td+i=O;或 t2*d=0;或 td+i=O;33.下列给定程序中函数fun的功能是:根据整型形参m,计算如下公式的值。例如,若 m 的值为5,则应输出1.463611。请改正程序中的错误,使它能得出正确的结果。注 意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!#include d

50、ouble fun(int m)double y=1.0;int i;!*u n*!for(i=2;i m;i+)!*n l*!y+=1/(i*i);return(y);)main()int n=5;printf(nThe result is%lfn,fun(n);【参考答案】(l)for(i=2;i=m;i+)(2)y+=1.0/(i*i);或 y+=(double)1.0/(i*i)第3 6页 第3 6页二级C语言题库-改错题34.下列给定程序中,函数fun的功能是:将字符串s中位于奇数位置的字符或ASCII码值为偶数的字符依次放入字符串t中。例如,字符串中的数据为AABBCCDDEEFF

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁