1、17套第一套一、程序填空题下列给定程序中,函数fun的功能是:计算如下公式s=3/(2*2)-5/(4*4)+7/(6*6)-.(-1)n-1(2*n+1)/(2*n)2直到|(2*n+1)/(2*n)=10-3,并且把计算结果作为函数值返回。例如,若形参e的值为le-3,则函数返回值为0.551690。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。#include double fun(double e) int i,k; double s,t,x; s=0;k=1;i=2; /*found*/ x=【1】/4; /*found*/ while(x【2】e) s=s+k*x
2、; k=k*(-1); t=2*i;/*found*/ x=【3】/(t*t); i+; return s; main() double e=1e-3; printf(n The result is:%fn,fun(e);/* 答案3.0 ; ; (t+1)*/二、程序改错题下列给定程序中函数fun的功能是:求出如下分数序列的前N项之和,和值通过函数值返回。2/1,3/2,5/3,8/5,13/8,21/13,.例如,若n=5,则应输出8.391667。请改正程序中的错误,使其得出正确的结果。注意:不改动main函数,不得增行或删行,也不得更改程序的结构!#include #include #
3、include /*found*/ void fun(int n) int a=2,b=1,c,k; double s=0.0; for(k=1;k=n;k+) /*found*/ s=s+(Double)a/b; c=a;a=a+b;b=c; return s;void main() int n=5; system(CLS); printf(nThe value of function is:%fn,fun(n);/* 答案 void-doubleDouble-double*/三、程序设计题请编写函数fun,其功能是:找出2*M整型二维数组中最大元素的值,并将此值返回调用函数。#define
4、 M 4#include int fun(int aM)void main() int arr2M=5,8,3,45.76,-4,12,82; printf(max=%dn,fun(arr); /* 答案int fun(int aM) int i,j,max=a00; for(i=0;i2;i+) for(j=0;iM;i+) if(maxaij) max=aij; return max;*/第2套一 程序填空题下列给定程序中,函数fun的功能是:计算如下公式前n项的和,并作为函数值返回。S=1322 3542 5762(2n1)(2n1)(2n)2 例如,当形参n的值为10时,函数返回值为9
5、.612558 请在下划线处填入正确的内容并将下面下划线删除,使程序得出正确的结果。试题程序:#includestdio.hdouble fun (int n) int i ; double s ,t/*found*/S=1/*found*/fori=1;i=2;i+t=2,o*i;/*found*/S=s+2.o*i1*2.o*i+1/3;return s;void main()int n=1;whilen0printf”please input n0:”;scanf”%d”,&n; printf“nThe result is:%fn”,fun(n);二 程序改错题下列给定程序中,函数fun
6、的功能是:统计substr所指的字符串在str所指的字符串中出现的次数。例如,若字符串为aaas lkaass,子字符串为as,则应输出2,,请改错试题程序:#includestdio.hint funchar *str,char *substrint i,j,k,num=o;/*found*/fori=0,stri,i+for(j=i,k=o;substr k=str j;k+,j+)/*found*/If(substr k+1= 0)num+;break;return num;main()char str80,substr80;printf(“input a substring:”);ge
7、ts(substr); printf(“%dn”,fun(str,substr) 三、程序设计题编写函数fun,其功能是:根据一下公式求的值(要求精度0.0005即某项小于0.0005时停止跌代)=1+程序运行后,若输入精度0.0005,则程序应输出为3.14。试题程序:#includestdio.h#includeconio.h#includemath.hdouble fun (double eps) Void main() double x;printf(“input eps:”)scanf(“%if”,&x);printf(“neps=%if,pi=%ifn”,x,fun(x);答案:一
8、(1)0(2)n (3 ) (t*t) 二 (1)for(i=0;stri;i+) (2) if(substrk+1=0)三double fun (double eps)double s=1,0, s1=1,0; int n=1; while(s1=eps) /*当某项大于精度要求时,继续求下一项*/s1=s1*n/(2*n+1); /*求多项式的每一项*/S=s+s1; /*求和*/n+;return 2*s;第三套一、 给定程序中,函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。#include Void fun (char
9、* s, int * t) int i, n; N=o;/*found*/ For (i=0;1!=o;i+)/*found*/ If (si=0&si=2) n+;/*found*/ 3;Main() char s80=abcdef35adgh3kjsdf7; Int t; Printf (nThe original string is :&sn,s); Fun(s,&t); Printf (nThe result is:&dn,t);答案/* si ; 9; *t=n */二、下列给定程序中函数fun的功能是:实现两个变量值的交换,规定不允许增加语句和表达式。#include #inclu
10、de #include Int fun(int *t, int y) Int t;/*found*/T=x;x=y;/*found*/ Return (y);Void main() Int a=3,b=8;System(CLS);Printf(%d%dn,a,b);B=fun(&a,b);Printf(%d%dn,a,b);答案/*t=*x;*x=y;(2)return t*/ 三、编写函数fun,其功能是:求出11000能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。#include #include #include Void fun
11、(int *a;int*n)Void main() Int aa1000,n,k; System(CLS); Fun(aa,&n); For (k=o;kn;k+) If(k+1)%10=0) printf (%5d,aak); Printf(n);/*一行写9个数*/ ElsePrintf(%5d,aak);答案/*int i,j=0; for(i=1;i=1000;i+) if(i%7=o|i%11=0)i%77!=0) aj+=i; *n=j; */第四套一、下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a0,a1,a2.中,把偶数从数组中删除,奇数个数通
12、过函数值返回。#include #define N 9Int fun(int a, int n)int i, j; j =0; for (i=0;in;i+)/*found*/ if (ai%2=1) /*found*/ a j=ai;2;/*found*/ Return 3;main ()int bN=9,1,4,2,3,6,5,8,7,i,n; Printf (nThe original data:n); For (i=0;iN;i+) Printf(%4d,bi); Printf(n); n =fun(b,N); Printf(nThe number of odd:%dn,n); Pri
13、ntf(nThe odd number:n); For (i=0;in;i+)Printf(%4d,bi);Printf(n);答案/*(1)1 (2)j+ (3)j */二、下列给定程序中函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。#include Int fun (int a ,int b) Int r,t; If (ab)/*found*/ T=a;b=a;a=t;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 nu
14、m2:); Scanf(%d%d,&num1,&num2); Printf(num1=%d num2=%dnn,num1,num2); A=fun (num1,num2); Printf(The maximun common divisor is%dnn,a);答案/*(1)t=a;a=b;b=t; (2)return b */三、规定输入的字符串中只含字母和*号。编写函数fun其功能是:删除字符串中所有的*号。编写函数时,不得使用c语言提供的字符串函数。#include #include Void fun(char *a)Void main()Char s81; Printf(Enter a
15、 string:n); Gets(s); Fun(s); Printf(The string after deleted:n); Puts(s);答案/* int i,j=0; for (i=0;ai!=0;i+) if (ai!=*) aj+=ai; aj=0;第五套一、下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。#include Unsigned long fun(unsigned long n) unsigned long x=o; int=t;| While(n) t=n%10;/*found*/ I
16、f (t%2=1)/*found*/ X=2+t;/*found*/N=3;Return x;Main() unsigned long n=-1; While(n99999999|n0) printf (Please input (0n100000000):): Scanf(%ld,&n); Printf (nThe result is:%ldn,fun(n);答案 (1)0 (2)10*x (3)n/10二、下列给定程序中,函数fun的功能是:将长整型数中各位上位奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。#include #include #include Void
17、 fun(long a,long *t)Int d; Long s1=1;/*found*/ T=0; While(s0)D=s%10;/*found*/If (d%2=0)*t=d*s1+t; S1*=10; S/=10; Void main() Longs,t;System(CLS);Printf(nPlease enter s:);Scanf(%ld,&s);Fun(s,&t);Printf(The result is:%ldn,t);答案/* (1)*t=0 (2)if (d%2!=0)三、编写函数fun,其功能是:实现两个字符串连接,即把p2所指的字符串连接到p1所指的字符串的后面。
18、#include #include #include Void fun (char p1,char p2)Void main() Char s180, s240; System(CLS); Printf(Enter s1 and s2:n); Scanf(%s%S,s1,s2); Printf(s1=%sn,s1); Printf(s2=%sn,s2); Printf(Invoke fun(s1,s2):n); Fun(s1,s2); Printf(After invoking:n); Printf(%sn,s);答案/* int i,j; for (i=0;p1i!=0;i+); for (
19、j=0;p2j!=0;j+); p1i+=p2j; p1i=0;第六套一、下列给定程序中,函数fun的功能是:把形参a所指数组中最小值放在元素a0中,接着把a所指数组中的最大值放在a1元素中;再把a所指数组元素中的次小值放在a2中,把a所指数组元素中的次大值放在a3,依此类推。#include #defined N 9Void fun(int a ,int n) int i,j ,max,min,px,pn,t; For(i=0;in-1;i+=2) /*found*/ Max=min=1; Px=pn=i; For(j=i+1;jn;j+)/*found*/ If (max3) min=aj
20、;pn=j; If(pn!=i) t=ai; ai=min; apn=t; If(px=i) px=pn; If(px!=i+1) t=ai+1; ai+1=max; Apx=t; Void main() int bN=9,1,4,2,3,6,5,8,7,i;Printf(nThe original data:n); For(i=0; iN;i+)Printf(%4d,bi);Printf(n);Fun(b,N)Printf(nThe data after moving:n);For(i=0;iN;i+)Printf(%4d,bi);Printf(n);答案(1)ai (2)aj (3)aj二
21、、下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1,1,2,3,5,8,13,21,#include Long fun(int g)/*found*/ Switch(g); case 0:return 0;/*found*/ Case1; case2:return 1; Return (fun(g-1)=fun(g-2);Void main() long fib;int n; Printf(Input n:); Scanf(%d,&n); Printf(n=%dn,n); Fib=fun(n); Printf(fib=%dnn,fib);
22、答案(1)去掉分号 (2)case 1:case2:return 1;三、某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。#include #defined N 8 Typedef struct char num 10;Double sN;Double ave;STREC;Void fun(STREC*a)Void main() STREC a=GA005,85.5,76,69.5,85,91,72,64.5,87.5;Int i;Fun(&5);Printf(The %s stude
23、nt data:n,s.num);For(i=0;iave=0.0; for (i=o;iave=a-si; a-ave=a-.ave/N;第七套一 程序填空题下列给定程序中,函数fun的功能是进行数字字符转换。若形参ch中是数字字符09,则将0转换成9,1转换成8,2转换成7,、,9转换成0;若是其他字符则保持不变;并将转换后的结果作为函数值返回。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果、试题程序: #includestdio.h *found*/1 fun(char ch)*found*/ If (ch=0&2)*found*/ return 9- (ch -/3)
24、;return chmain() char c1,c2; printf(“nThe result:nn”); c1=2;c2=fun(c1);printf(“c1=%c c2=%cn”,c1,c2);c1=8 ; c2=fun(c1);printf(“c1=%c c2=%cn”,c1,c2);c1=a ; c2=fun(c1);printf(“c1=%c c2=%cn”,c1,c2);二 程序改错 下列给定程序中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符字符之后插入一个空格。 例如,若给a输入字符串:“ABCDEFGHIJK”,调用函数后,字符数组b中的内容为:“ABC DEF GHI JK ”。请改正错误试题程序:#includestdio.hvoid fun(char *p,char*b)int i, k=0;while(*p) i=1;while(i=3&*p) /*found*/b
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1