C语言函数习题及答案 联系客服

发布时间 : 星期六 文章C语言函数习题及答案更新完毕开始阅读

my_cmp(char *s,char *t) {

while(*s == *t) {

if (【3】) return 0; ++s; ++t; }

return 【4】; }

4. 以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数

返回删除后数组中数据的个数。请将程序填写完整。

例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10 删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。

#include #define N 80

int fun(int a[], int n) { int i,j=1;

for(i=1;i

main( ) {

int a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},i,n=19; printf(\ for(i=0;i

printf(\ for(i=0; i

四、编程题

1. 请用自定义函数的形式编程实现,求s=m!+n!+k!,m、n、k从键盘输入(值均小于7)。 2. 请用自定义函数的形式编程实现求10名学生1门课程成绩的平均分。

3. 请编写两个自定义函数,分别实现求两个整数的最大公约数和最小公倍数,并用主函数调用这两个函数,输

出结果(两个整数由键盘输入得到)。 4. 已知二阶Fibonacci数列:

0 Fib(n) 若n=0 1 若n=1 Fib(n-1)+Fib(n-2) 其他情况

请编写一个递归函数,实现求Fib(n)。

第6章

一、选择题

1.

B

2.

C

3.

B

4.

B

5.

C

6.

D

7.

D

8.

C

9.

D

10. D 20. A

11. A 21. A 12. A 22. D 13. C 23. C

14. D 24. B

15. D 25. A

16. C

17. B

18. A

19. A

26.【1】A 26.【2】D 27.【1】B

27.【2】D 27.【3】C 28.【1】D 28.【2】C 30. A

31. D

32.【1】B 32.【2】A 33.【3】A 34.【1】D 34.【2】C 35.【1】C 36.【1】D 36.【2】B 36.【3】A 37.【1】A 38.【1】C 38.【2】B 38.【3】A 39.【1】C 40.【1】C 40.【2】B

40.【3】D

二、读程序写结果:

1. 31 2. 15

3. asd af aa z67 4. *p1=20,*p2=10 x=10,y=20

5. 5 4 3 2 1 6. 61 7. 6,15 8.

8

三、填空题

1.【1】 return t 2.【2】 r!=0 3.【3】 *s == ‘\\0’ 【4】 *s-*t 4.【5】 != 【6】 j

四、编程题 1.

#include long fun(int x) { long y=1; while(x>0) { y*=x; x--; } return(y); }

main() { int m,n,k;

printf(\scanf(\

printf(\}

2.

#include

29.【1】C 33.【1】C 35.【2】A 37.【2】B 39.【2】B

29.【2】D 33.【2】B 35.【3】B

37.【3】A 39.【3】A

#define N 10

float average(float array[]) { int i=0; float s=0;

for(i=0;i

main()

{ float score[N],i; float ave;

printf(\ for(i=0;i

scanf(\ ave=average(score);

printf(\}

3.

#include int divisor(int a,int b) { int r; while((r=a%b)!=0) { a=b; b=r; } return b; }

int multiple(int a,int b) { int d; d=divisor(a,b); return a*b/d; }

void main() { int a,b,c,d; printf(\ \ scanf(\ c=divisor(a,b); d=multiple(a,b); printf(\}

4.

#include int fib(int n) { int p; if(n==0) p=0; else if(n==1) p=1; else p=fib(n-1)+fib(n-2);

return p; }

void main() { int n; printf(\ \ scanf(\ printf(\ }