首页 > 试题广场 >

下列程序的执行结果是? #include int

[单选题]
下列程序的执行结果是?
#include<iostream.h>
int f(int Int){
    if (Int==0)return I;
    return(Int+f(Int-l));
};
void main(void){
    int inT=9;
    cout<<"result="<<f(inT)<<'\n';
}

  • result=1
  • result=37
  • result=46
  • 编译错误
推荐

如果 return 1 则答案选C

如果 return I, 则答案选D


如果 return 1 的解析:

答案求 f(9)
第1步:f(9) = 9 + f(8)
第2步:f(8) = 8 + f(7)
...
第9步:f(1) = 1 + f(0)
第10步:f(0) = 1
依次带入:f(9) = 9 + 8 + ...+ 1 + 1
= (1+9)*9/2+1 = 46

编辑于 2019-11-06 14:56:25 回复(2)
这题是想考啥,考我视力是不是5.0 ?????
发表于 2020-05-16 11:48:35 回复(5)
D
error 1:
"return I;":包含标准头文件 complex.h 后,就可以用 complex来代表 _Complex,用imaginary来代表 _Imaginary,以及用 I来代表虚数单位 i,也就是 -1的平方根。例如:
1
2
3
4
#include <complex.h>
double _Complex x = 5.2;
double complex y = 5.0 * I;
double complex z = 5.2 – 5.0 * I;
1
2
complex f(int Int)
{...}
当然,也可能是未定义I
error 2:
[Error] '::main' must return 'int'
main返回值必须为int
error 3:
1
return(Int+f(Int-l));
"Int-l"的"l"不是1,是l,ascall码为108的小写字母l
error 4:
开始时缺少using namespace std;
不能cout


其他1
f(int Int)
{
}";"   尽量别打“;”
其他2
1
#include<iostream.h>
有区别
1
#include<iostream>
在某些编译器上不通过


编辑于 2019-11-06 14:26:57 回复(0)
答案选D
①首先没有使用标准命名空间,即开始时缺少using namespace std;
②另外程序代码中未定义I变量
发表于 2019-11-06 10:01:48 回复(1)
题目想表达的应该是 return 1 那么输出的答案就是函数f(9)的返回值。通过观察发现函数f是一个递归调用的函数,递归:简单理解就是自身调用自身的过程。
f(9) = f(8) + 9;
f(8) = f(7) + 8;
---
f(1) = f(0) + 1;
而递归的结束条件是Int == 0时,f(0) = 1。所以f(9) = 1 + 1 + 2 + 3 + ... + 9 = 46
发表于 2019-11-09 19:22:52 回复(0)
D,视力题,I和l不是1,没意思
发表于 2019-11-05 15:19:28 回复(0)
D
该题目不太规范,应该属考察的是带参函数的递归运算。但题目变量命名不规范以及变量定义不完整。
发表于 2019-11-05 18:25:14 回复(0)
选d,编译错误,I未定义
发表于 2019-11-05 14:45:45 回复(0)
吐糟一波 变量命名: int Int   ;  还有返回值   return I    
这种命名其他程序员得口吐芬芳,还有考我视力是吧。

没有使用标准命名空间,这会导致编译错误。
使用cout   需要  std::cout   
发表于 2023-10-31 21:37:06 回复(0)
乱出的题吧
发表于 2022-12-04 16:00:54 回复(0)
若只题,建议屏蔽
编辑于 2023-12-27 11:12:51 回复(0)
出这种题目有什么意义?我还以为是打印错误呢。。。
发表于 2023-11-08 15:32:27 回复(0)
我乱选了D;
#include<iostream.h> void main(void)
这在我学的c++里面是
#include<iostream>
int main
然后有个莫名其妙的return I;

发表于 2023-10-20 19:37:59 回复(0)
我瞎了,呜呜呜
发表于 2023-08-18 15:15:17 回复(0)
注意细看I
发表于 2023-04-20 12:45:12 回复(0)
#include<iostream.h> 错误,vs下没有.h
没有using namespace std; 错误二
没有定义变量I,错误三

发表于 2023-04-12 16:46:31 回复(0)
没想到这次就是这个答案,因为牛客以前确实有乱码问题。
return I;//这是字母I,不是数字1


发表于 2023-03-14 10:35:04 回复(0)
一千道题里面这个最烂选举可以排上号
发表于 2023-01-06 13:43:55 回复(0)
差点看错,在答案中寻找55 (9+8+7+6+5+4+3+2+1) 居然没这个结果,一看return I, I没定义
发表于 2022-08-25 17:22:27 回复(0)
不管是return1还是returnl;都会编译报错,
I是一个未定义的标识符;没有用using namespace std后面的cout会报错
发表于 2022-05-09 11:25:53 回复(0)
有病吧
发表于 2022-04-23 11:16:00 回复(0)