有以下程序includeint f(int n){if(n==1)return 1:else return f(n-1)+1;}void mai有以下程序 #include<iostream.h> int f(int n) {if(n==1)return 1: else return f(n-1)+1;} void main() {int i,j=0; for(i=1;i<3;i++):j+=f(i); cout<<j;} 程序运行后的输出结果是( )。A.4B.3C.2D.1

题目
有以下程序includeint f(int n){if(n==1)return 1:else return f(n-1)+1;}void mai

有以下程序 #include<iostream.h> int f(int n) {if(n==1)return 1: else return f(n-1)+1;} void main() {int i,j=0; for(i=1;i<3;i++):j+=f(i); cout<<j;} 程序运行后的输出结果是( )。

A.4

B.3

C.2

D.1


相似考题
更多“有以下程序#include<iostream.h>int f(int n){if(n==1)return 1:else return f(n-1)+1;}void mai ”相关问题
  • 第1题:

    有以下程序includeint f(int n){if(n==1 )return 1;else return f(n-1 )+ 1;}void

    有以下程序#include<iostream.h>int f(int n){if(n==1 )return 1;else return f(n-1 )+ 1;}void main() {int i,j=0;for(i=1 ;i<3;i++) j+=f(i);cout<<j<<end1;}程序运行后的输出结果是( )。

    A.4

    B.3

    C.2

    D.1


    正确答案:B

  • 第2题:

    有以下程序:includeiht fun(iht n,int*p){int f1,f2;if(n==1||,n==2)*p=1;else{fun(n-

    有以下程序: #include<stdio.h> iht fun(iht n,int*p) { int f1,f2; if(n==1||,n==2)*p=1; else { fun(n-1,&f1);fun(n-2,&f2); *p=f1+f2; } } main() { int s; fun(3,&s); printf("%d\n",s); } 程序的运行结果是______。

    A.2

    B.3

    C.4

    D.5


    正确答案:A
    解析: 本题考查的重点是理解递归函数。fun()为递归函数,递归结束条件时n为1或2,从而fun(3,&s)得fun(2,&s)+fun(1,&s)=1+1=2,因此选项A是正确的。

  • 第3题:

    1、以下程序的输出结果是():void fun (int n,int *s) { int f1,f2; if (n==1||n==2) *s=1; else { fun(n-1,&f1); fun(n-2,&f2); *s=f1+f2; } } int main() { int x; fun(6,&x); pirntf("%d\n",x); return 0; }

    A.4

    B.6

    C.8

    D.12


    C 本题用了函数调用,fun中if语句成立则进行i,j的交换,用到主函势中则为把下标为0、3,1、2互换,因此,当执行完后X的数组为8,1,6,2,故选择C选项。

  • 第4题:

    有以下程序 include int f(int n) {if(n==1)return1; else return f(n-1)+1} voidm

    有以下程序 #include<iostream.h> int f(int n) {if(n==1)return1; else return f(n-1)+1} voidmain() {int i,j=0; for(i=l i<3;i++)=i+=f(i); cout<<j;} 程序运行后的输出结果是( )。

    A.4

    B.3

    C.2

    D.1


    正确答案:B

  • 第5题:

    有以下程序 include int f(iht n) { if(n==1) return 1; else return f(n-1)+

    有以下程序 #include<iostream.h> int f(iht n) { if(n==1) return 1; else return f(n-1)+1;} void main( ) { iht i,j=0; for(i=1;i<3;i++)j+=f(i); cout < < j;} 程序运行后的输出结果是

    A.4

    B.3

    C.2

    D.1


    正确答案:B
    解析:在main函数中,对f(1)和f(2)的值进行了累加。过程如下:f(1)=1f(2)=f(1)+l=2最后,j的值为1+2=3。注意:函数的递归调用需要有一个结束的条件。