网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)
单选题
设有如下函数定义:int fun(int k){ if(k<1) return 0; else if(k==1) return 1; else return fun(k-1)+1;}若执行调用语句:n=fun(3);,则函数fun()总共被调用的次数是(  )。
A

2

B

3

C

4

D

5


参考答案

参考解析
解析:
函数fun为递归函数,递归结束条件是k为小于等于1的数。执行fun(3)语句时会返回fun(3-1)+1,即fun(2)+1;执行fun(2)时会返回fun(2-1)+1,即fun(1)+1;执行fun(1)时会返回1,所以函数fun总共被调用3次。答案选择B选项。
更多 “单选题设有如下函数定义:int fun(int k){ if(k1) return 0; else if(k==1) return 1; else return fun(k-1)+1;}若执行调用语句:n=fun(3);,则函数fun()总共被调用的次数是(  )。A 2B 3C 4D 5” 相关考题
考题 阅读下面程序,则程序的执行结果为【19】。#include "stdio.h"fun(int k,int *p){ int a,b;if(k==1||k==2)*p=1;else{ fun(k-1,a);fun(k-2,b);*p=a+b;}}main(){ int x;fun(6, x);printf( "%d\n",x);}

考题 下列函数的运行结果是main(){ int i=2,p;int j,k;j=i;k=++i;p=f(j,k);printf("%d",p);}int f(int a,int b){ int c;if(ab)c=1;else if(a==b)c=0;else c=-1;return(c);}A.-1B.1C.2D.编译出错,无法运行

考题 下面的函数是完成1~n的累加,完成函数。a(int k){if(k=0)printf("error\n");if(k==1) 【18】 ;else 【19】 ;}

考题 有以下程序 fun(int x,int y) { static int m=0,i=2; i+=m+1; m=i+x+y; return m; } main() { int j=1,m=1,k; k=fun(j,m); printf("%d,",k); k=fun(j,m); printf("%d\n",k); } 执行后的输出结果是______。A.5,5B.5,11C.11,11D.11,5

考题 有下列程序:fun (int x,int y){static int m=0,i=2;i+=m+1;m=i+x+y;return m;}main(){int j=1,m=1,k;k=fun0,m);printf("%d,"k);k=fun0,m);printf("%d\n",k);}执行后的输出结果是( )。A.5,5B.5,11C.11,11D.11,5

考题 该程序运行的结果是( )。#include#include#define M 100void fun(int m, int *a, int *n){ int i,j=0;for(i=1;i=m;i++)if(i%7==0||i==0)a[j++]=i;*n=j;}main(){ int aa[M],n,k;clrscr();fun(10,aa,n);for(k=0;kif((k+1) ==0)printf("\n");else printf("M",aa[k]);printf("\n");}

考题 请补充函数fun(),函数fun()的功能是求7的阶乘。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<stdio.h>long fun(int n){if(【 】)return(n*fun(【 】);else if(【 】)return 1;}main(){int k=7;printf("%d!=%ld\n", k, fun(k));}

考题 以下fun函数的功能是:找出具有N个元素的一维数组中的最小值,并作为函数值返回,请填空。(设N己定义)int fun(int x[N]){int i,k=0for(i=0;iN;i++)if(x[i]x[k])k=_____;return x[k];}

考题 下列给定程序中,函数fun()的功能是::求k!(k<13),所有阶乘的值作为函数值返回。例如:若k=10,则应输出3628800。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <conio.h>include <stdio.h>long fun(int k){/*************found**************/if k>0return (k* fun (k-l));/*************found**************/else if (k=0)return 1;}main ( ){int k=10;clrscr ();print, ("%d!=%1d\n ", k, fun (k));}

考题 设有如下函数定义: int fun(int k) {if(k1)return 0; else if(k= =l)return l; else return fun(k-1)+1: } 若执行调用语句:“n=fun(3);”,则函数fun总共被诃用的次数是( )。A.2B.3C.4D.5

考题 阅读下面程序,则执行后的结果为#include "stdio.h"fun1(){ int k=20; return k; }fun2(){ int a=15; return a; }fun3(int a,int b){ int k; k=(a-b)*(a+b); printf("%d\n",k);}main(){ un3(fun1(),fun2());}A.0 B.184 C.175 D.编译不通过

考题 下列给定程序中,函数fun()的功能是:判断一个整数m是否是素数,若是返回l,否则返回0。在main()函数中,若fun()返回1则输出YES,若fun()返回0则输出NO!请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.试题程序:include <conio.h>include <stdio.h>int fun(int m){ int k=2;while (k<=m&&(m%k))/*************found*********************/k++/*************found*********************/if(m=k)return 1;else return O;}main ( ){ iht n;clrscr ();printf("\nPlease enter n: ");scanf ("%d", n);if (fun (n)) printf ("YES\n");else printf ("NO! \n");}

考题 下面程序输出的是( )。 main { int t=l;fun(fun(t));} fun(int h) { static int a[3]={1.2.3}; int k; for(k=0;k3;k++)a[k]+=a[k]-h; for(k=0;k3;k++)printf("%d",a[k]); printf("\n"); return(a[h]);}A.1,2,3, 1,5,9,B.1,3,5, 1,3,j,C.1,3,5, 0,4,8,D.1,3。5, -1,3,7,

考题 已知下列函数定义: fun(int%,int c,int n,int datA){int k; for(k=0;k<m*n;k++) {*b=data; b++;} } 则调用此函数的正确写法是(假设变量a的说明为int a[50])( )。A.fun(*a,4,5,1);B.fun(a,4,5,1);C.fun((int*)a,4,5,1);D.fun(a,4,5,1);

考题 下列函数的运行结果是 main() {int i=2,p; int j,k; j=i;k=++i;p=f(j,k); printf("%d",p);} intf(int a,int B) {int c; if(a>b)c=1; else if(a==b)c=0; else c=-1; return(c);}A.-1B.1C.2D.编译出错,无法运行

考题 有下列程序: fun(int x,int y) { static int m=0,i=2; i+=++m;m=i+x+y;return m; } main { int j=1,m=1,k; k=fun(j,m);printf(%d,,k); k=fun(j, m);printf(”%d\n”,k); } 执行后的输出结果是( )。A.5.5B.5,11C.11,11D.11,5

考题 有以下程序includemain(){int*p,j; p=NULL p=fun(); for(j=0;j 有以下程序 #include<stdio.h> main() { int *p,j; p=NULL p=fun(); for(j=0;j<4;j+){printf("%d",*p);p++;} } int*fun() { int a[4],k; for(k=0;k<4;k++)a[k]=k; return(A) ; } 程序运行后的输出结果是( )A.程序有错不能运行B.输出4个NULLC.输出0 1 2 3D.输出1 1 1 1

考题 设有如下函数定义int fun(int k){if(k1) return 0:else if(k==1) return 1:else return fun(k一1)+1:}若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是A.2B.3C.4D.5

考题 以下程序的输出结果是#include conio.h#include stdio.h#define M 100void fun(int m, int *a, int *n){ int i,j=0; for(i=1;i=m;i++) if(i%7==0||i%11==0) a[j++]=i; *n=j;}main(){ int aa[M],n,k; clrscr(); fun(100,aa,n); for(k=0;kn;k++) if((k+1)%20==0)printf("\n"); else printf("%d",aa[k]); printf("\n"); }

考题 下面程序的运行结果是#include "stdio.h" void fun(int k,int *p) { int a,b; if(k==1|| k==2) *p=1; else { fun(k-1,a); fun(k-2,b); *p=a+b; } }main(){ int x; fun(6,x); printf("%d\n",x);}

考题 下面的函数是完成1~n的累加,请填空。a(int k){ if(k =0) printf("error\n"); if(k == 1) return 1; else;}

考题 请补充函数fun(),该函数的功能是计算下面公式SN的值:例如:当N=50时,SN=71.433699。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<conio.h>include<stdio.h>double fun(int n){double s=1.0,S1=0.0;int k;for(【l】;k<=n;k++){s1=s;【 】;}return【 】;}main(){int k=0;double S;clrscr();printf("\nPlease input N=");scanf("%d",k);s=fun(k);printf("\ns=%lf",s);}

考题 下列函数中,哪项是正确的递归函数( )。A int Fun(int n){if(n<1) return 1;else return n*Fun(n+1);}B) int Fun(ira n){if(abs(n)<1) return 1;else return n*Fun(n/2);}C) int Fun(int n){if(n>1) return 1;else return n*Fun(n*2)1}D) int Fun(int n){if(n>1) return 1;else retun n*Fun(n-1);}A.AB.BC.CD.D

考题 includeiostreamusing namespace std;int fun1(int);void main(){int i=12;___________;___________;coutfun1:(*fp)(i)endl;}int fun1(int k){k=k*2+1;return k;}

考题 阅读以下说明和C函数,填补代码中的空缺(1)~(5),将解答填入答题纸的对应栏内。【说明1】 函数isPrime(int n)的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。 【C函数】 int isPrime (int n) { int k, t; if (n==2) return 1; if(n2|| (1) ) return 0; /* 小于2的数或大于2的偶数不是素数 */ t=(int)sqrt(n)+1; for (k=3; kt; k+=2) if ( (2) ) return 0; return 1; } 【说明2】 函数int minOne(int arr[], int k)的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。 【C函数】 int minOne (int arr[], int k) { int t; assert (k0) ; if(k==1) return (3) ; t=minOne(arr+1, (4) ; if (arr[0]t) return arr[0]; return (5) ; }

考题 (32)设有如下函数定义int fun(int k){ if (k1) return 0;else if(k==1) return 1;else return fun(k-1)+1;}若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是A)2B)3C)4D)5

考题 阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。 [说明1] 函数isPrime(int n)的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。 [C函数] int isPrime(int n) { int k, t; if (n==2) return 1; if(n<2 || ______)return 0; /*小于2的数或大于2的偶数不是素数// t=(int)Sqrt(n)+1; for(k=3; k<t; k+=2) if(______) return 0; return 1; } [说明2] 函数int minOne(int art[],int k)的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。 [C函数]int minOne(int arr[],int k){int t;assert(k>0);if(k==1)return ______;t=minOne(arr+1,______);if(arr[0]<t)return amr[0];return ______;}

考题 单选题有以下程序#include int fun(int x,int y){ static int m=0,i=2; i+=m+1; m=i+x+y; return m;}main(){ int j=1,m=1,k; k=fun(j,m); printf(%d,,k); k=fun(j,m); printf(%d,k);}执行后的输出结果是(  )。A 5,11B 5,5C 11,11D 11,5