教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高等教育 >

C语言函数习题及答案(2)

来源:网络收集 时间:2026-05-01
导读: printf(\n); } 【1】A)n0i==0 B)n0||i==0 C)n0i==0 D)n0||i==0 【2】A)n%=10 B)n%=(-10) C)n/=10 D)n/=)-10) 29. 下面的程序用递归定义的方法实现求菲波拉契数列1、1、2、3、5、8、13、21……第 7项的值fib

printf("\n");

}

【1】A)n<0&&i==0 B)n<0||i==0 C)n>0&&i==0 D)n>0||i==0 【2】A)n%=10 B)n%=(-10) C)n/=10 D)n/=)-10)

29. 下面的程序用递归定义的方法实现求菲波拉契数列1、1、2、3、5、8、13、21……第

7项的值fib(7),菲波拉契数列第1项和第2项的值都是1。请将程序补充完整。

#include<stdio.h>

long fib(【1】)

{

switch(g)

{

case 0: return 0;

case 1:

case 2: return 1;

}

return (【2】);

}

main()

{

long k;

k=fib(7);

printf("k=%d\n",k);

}

【1】A)g B)k C)long int g D)int k

【2】A)fib(7) B)fib(g) C)fib(k) D)fib(g-1)+fib(g-2)

30.有以下程序

int fun(int n)

{

if(n==1) return 1;

else return(n+fun(n-1));

}

main()

{

int x;

scanf("%d",&x);

x=fun(x);

printf("%d\n",x);

}

程序执行时,若输入10,程序的输出结果是【】。

A)55B)54C)65D)45

31. 下面是一个计算1至m的阶乘并依次输出的程序。程序中应填入的正确选项是【】。

#include<stdio.h>

double result=1;

factorial( int j)

{

result=result*j;

return;

}

main()

{

int m,i=0,x;

printf("Please enter an integer:");

scanf("%d",&m);

for(;i++<m;)

{

x=factorial(i);

printf("%d!=%.0f\n", 【】);

}

}

A)i,factorial(i) B)i,x C)j,x D)i,result

32. 以下程序的功能是求任意两个整数a和b的最大公约数,并予以显示。请将程序补充完

整。

#include<stdio.h>

#include<stdlib.h>

long codivisor(long n1,long n2)

{

long t;

while( n2!=0 )

{【1】; n1=n2; n2=t;}

return (【2】);

}

main()

{

long a,b,x;

printf("please input two numbers:");

scanf("%ld%ld",&a,&b);

x=codivisor(a,b);

printf("maximum common divisor of %ld and %ld is : %ld\n", a,b,x);

}

【1】A)t=n1/n2 B)t=n1%n2 C)t=n2%n1 D)t=n2/n1

【2】A)labs(n1) B)labs(a) C)labs(b) D)labs(n2)

33. 以下程序的功能是计算并显示一个指定行数的杨辉三角形(形状如下),请将程序补充

完整。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

程序:

#include<stdio.h>

#define N 15

void yanghui(int b[][N], int n)

{

int i,j;

for(i=0; 【1】; i++)

{

b[i][0]=1; b[i][i]=1;

}

for(【2】;++i<=n;)

for(j=1;j<i;j++)

b[i][j]= 【3】;

for(i=0;i<n;i++)

{

for(j=0;j<=i;j++)

printf("%4d",b[i][j]);

printf("\n");

}

}

main()

{

int a[N][N]={0},n;

printf("please input size of yanghui triangle(<=15)");

scanf("%d",&n);

printf("\n");

yanghui(a,n);

}

【1】A)i<N B)i<=N C)i<n D)i<=n

【2】A)i=0 B)i=1 C)i=2 D)i=3

【3】A)b[i-1][j-1]+b[i-1][j] B)b[i-2][j-1]+b[i-1][j]

C)b[i-1][j-1]+b[i-1][j+1] D)b[i-2][j-2]+b[i-1][j]

34. 下面的程序用来将一个十进制正整数转化成八进制数,例如输入一个正整数25,则输

出31,请将程序补充完整。

#include<stdio.h>

main()

{

int i=0,j=0,a,b[10]={0};

printf("\nPlease input a integer: ");

scanf("%d",&a);

sub(a,b);

for(;i<10;i++)

{

if(【1】) j++;

if(j!=0) printf("%d",b[i]);

}

}

sub(int c, int d[])

{

int e, i=9;

while(c!=0)

{

e=c%8;

d[i]=e;

【2】;

i--;

}

return;

}

【1】A)b[i]<0 B)b[i-1]!=0 C)b[i]<=0 D)b[i]!=0

【2】A)c=sub(c/8) B)c=c%8 C)c=c/8 D)c=e%8 35. 函数bisearch 的作用是应用折半查找法从存有N个整数的升序数组a中对关键字key

进行查找。请将程序补充完整。

#include<stdio.h>

#define N 15

bisearch(int a[N], int key)

{

int low=0, high=N-1, mid;

while(【1】)

{

mid=(low+high)/2;

if(key<a[mid])

【2】;

else

if(key>a[mid])

low=mid+1;

else

return mid;

}

return 【3】;

}

main()

{

int b[N],n,I,j;

printf("Please input a %d element increasing sequence: ", N);

for(i=0;i<N;i++)

{

printf("b[%d]= ",i);

scanf("%d",&b[i]);

}

printf("Please input a searching key: ");

scanf("%d",&n);

j=bisearch(b,n);

if(j<-5)

printf("Don?t find %d\n",n);

else

printf("b[%d]=%d\n",j,n);

}

【1】A)low<high B)low!=high C)low<=high D)low<=high-1

【2】A)high=mid-1 B)low=mid+1 C)high=mid+1 D)low=mid-1 【3】A)0 B)-10 C)-1 D)1

36. 如果程序及其运行结果显示如下,请将程序补充完整。

2 10 4 6

1 5

2 3

2 4 7 8

5 1 3 2

The value is 15.

程序:

#include<stdio.h>

func(【1】)

{

int 【2】,j;

for(j=0;j<4;j++)

{

b[3][j]=2*b[0][j];

printf("%4d",b[3][j]);

b[3][j]=0;

}

printf("\n");

for(j=0;j<4;j++)

if(b[i][j]<5&&b[i][2]>5)

k+=b[i][j];

return k;

}

main()

{

static int a[4][4]={ 【3】};

int i,j,k;

k=func(a,9);

for(i=0;i<4;i++)

{

for(j=0;j<4;j++)

if(a[i][j]!=0)

printf("%4d",a[i][j]);

if(a[i][4]!=0)

printf("\n");

}

printf("The value is %d\n",k);

}

【1】A)int b[4][],k B)int b[][4],k C)int b[4,4],int k D)int b[][4],int k 【2】A)i=0 B)i=1 C)i=2 …… 此处隐藏:3077字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言函数习题及答案(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/128715.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)