鱼C论坛

 找回密码
 立即注册
查看: 869|回复: 2

[已解决]switch

[复制链接]
发表于 2024-1-5 16:39:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
long fib(int x)
{
    switch(x)
    {
      case 0:return 0;
      case 1:
      case 2:return 1;
    }
    return (fib(x-1)+fib(x-2));
}
main()
{
int x=6;
printf("%d\n",fib(x));
}
看不懂题目意思,球球了
最佳答案
2024-1-5 16:49:14
    switch(x)
    {
      case 0:return 0;
      case 1:
      case 2:return 1;
        翻译成 if ... else 语句就是:
      if(x == 0) return 0                ;
      else if(x == 1 || x == 2) return 1 ;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-1-5 16:40:37 | 显示全部楼层
这段代码是用递归的方式计算斐波那契数列的第x个数,并打印出结果。

首先,我们来解释一下斐波那契数列。斐波那契数列是一个数列,从第三项开始,每一项都等于前两项之和。数列的前几项如下:0, 1, 1, 2, 3, 5, 8, 13, ...

现在我们来解释一下代码的逻辑:

1. 首先,在`switch`语句中对参数`x`的值进行判断。
2. 如果`x`等于0,则直接返回0。
3. 如果`x`等于1或2,则直接返回1。
4. 如果`x`不是上述情况,则通过递归调用`fib(x-1)`和`fib(x-2)`来计算第x个斐波那契数的值。
5. 最后,将计算结果打印出来。

根据代码中的`main`函数中的参数`x=6`,我们可以推测该代码的目的是计算斐波那契数列的第6个数。

你上面提到看不懂题目意思,不清楚具体想问什么问题,如果还有其他问题,请告诉我,我会尽力帮助你。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-5 16:49:14 | 显示全部楼层    本楼为最佳答案   
    switch(x)
    {
      case 0:return 0;
      case 1:
      case 2:return 1;
        翻译成 if ... else 语句就是:
      if(x == 0) return 0                ;
      else if(x == 1 || x == 2) return 1 ;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 17:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表