函数练习题(C语言)带答案

static int m=0,i=2; i+=m+1; m=i+a+b; return (m); }

A)8,17 B)8,16 C)8,20 D)8,8 26. 以下程序的功能是计算函数F(x,y,z)=(x+z)/(y-z)+(y+2×z)/(x-2×z)的值,请将程序补充

完整。

#include float f(float x,float y) {

float value; value= 【1】; return value; }

main() {

float x,y,z,sum;

scanf(\ sum=f(x+z,y-z)+f(【2】); printf(\}

【1】A) x/y B) x/z C) (x+z)/(y-z) D) x+z/y-z 【2】A) y+2z,x-2z B) y+z,x-z C) x+z,y-z D) y+z*z,x-2*z 27. 以下程序的功能是根据输入的字母,在屏幕上显示出字符数组中首字符与其相同的字符

串,若不存在,则显示“No find,good bye!”,请将程序补充完整。

#include char PriStr(char ch1) {

int i=0,j=0;

static char *ch2[]={\are you\\to meet you\new\

\ while(i++<6)

if(ch1==【1】 ) {

puts(【2】); j=1; }

return j; }

main() {

char ch;

printf(\ ch=getchar();

ch=PriStr(ch); if(ch==【3】)

puts(\}

【1】A)ch2[i][0] B)ch2[i-1][0] C)*ch2[i] D) *ch2[i-1][0] 【2】A)ch2[i] B)*ch2[i] C)*ch2[i-1] D) ch2[i-1] 【3】A)?0? B)?48? C) 0 D) 30

28. 以下程序是将输入的一个整数反序打印出来,例如输入1234,则输出4321,输入-1234,

则输出-4321。请将程序补充完整。 void printopp(long int n) { int i=0; if(n==0) return ; else

while(n) {

if(【1】) printf(\ else printf(\ i++; 【2】; } }

main() {

long int n;

scanf(\ printopp(n); printf(\}

【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 long fib(【1】) {

switch(g) {

case 0: return 0; case 1:

case 2: return 1; }

return (【2】); }

main() { long k; k=fib(7);

printf(\}

【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(\ x=fun(x);

printf(\}

程序执行时,若输入10,程序的输出结果是【 】。 A)55 B)54 C)65 D)45

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

#include double result=1; factorial( int j) {

result=result*j; return; }

main() {

int m,i=0,x;

printf(\ scanf(\ for(;i++

x=factorial(i);

printf(\【 】 ); } }

A)i,factorial(i) B)i,x C)j,x D)i,result 32. 以下程序的功能是求任意两个整数a和b的最大公约数,并予以显示。请将程序补充完

整。

#include #include

long codivisor(long n1,long n2) { long t;

while( n2!=0 )

{【1】; n1=n2; n2=t;} return (【2】); }

main() {

long a,b,x;

printf(\ scanf(\ x=codivisor(a,b);

printf(\}

【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 #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

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

联系客服:779662525#qq.com(#替换为@)