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

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

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) C) x+z,y-z

D) x+z/y-z D) y+z*z,x-2*z

【2】A) y+2z,x-2z

B) y+z,x-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\ \is

fine\ 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] 【2】A)ch2[i] 【3】A)’0’ 程序补充完整。

B)ch2[i-1][0] B)*ch2[i] B)’48’

C)*ch2[i]

C) 0

D) *ch2[i-1][0]

D) ch2[i-1] D) 30

C)*ch2[i-1]

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 【2】A)n%=10

B)n<0||i==0 B)n%=(-10)

C)n>0&&i==0 C)n/=10

D)n>0||i==0 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 30.有以下程序

int fun(int n) {

if(n==1) return 1; else return(n+fun(n-1)); } main() {

B)k

C)long int g C)fib(k)

D)int k

D)fib(g-1)+fib(g-2)

【2】A)fib(7) B)fib(g)

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 【2】A)labs(n1)

B)t=n1%n2 B)labs(a)

C)t=n2%n1 C)labs(b)

D)t=n2/n1 D)labs(n2)

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

1 1 1 1 1 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++) printf(\ printf(\ } } main() {

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

printf(\ scanf(\ printf(\ yanghui(a,n); }

【1】A)i

B)i<=N B)i=1

C)i

D)i<=n D)i=3

1 2 3 4 5

1 3 6

1 4

1

1

10 10 5

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

完整。

#include main() {

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

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

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

printf(\