C语言笔试题之斐波那契数列

C语言笔试题之斐波那契数列,第1张

C语言笔试题之斐波那契数列

文章目录
  • 前言
  • 一、代码
  • 结果显示


前言

这题是我在做笔试的时候,碰到的一道题目。本人觉得挺有意思,就记录下来。
题目是:斐波那契数列(0、1、1、2、3、5、8、13、21、34…),输入一个大于1的正整数,如果这个数在斐波那契数列里面,就返回它的序号,否则,则返回-1。如:输入:5 输出:6; 输入:9 输出:-1


话不多说,直接上代码

一、代码

代码如下(示例):

 

#include 

int Get_Number(int* p, int num);

int main(void) {
    int arr[100] = {0, 1, 1};
    int i, num;
    for( i = 3; i < 100; i++) {
        arr[i] = arr[i-1] + arr[i-2];
    }
    printf("输入:");
    scanf("%d", &num);
    
    //输入大于1的正整数
    if(num < 2) {
        printf("请输入一个大于1的整数:");
        scanf("%d", &num);
    }
    printf("n");
    printf("输出:%dn", Get_Number(arr, num));
}

//判断num是否在arr数组里面
int Get_Number(int* p, int num) {
    int i = 0;
    while( *(p + i) != num ) {
        i++;
        if( 99 == i) {
            break;
        }
    }
    

    if( 99 == i ) {
        return -1;
    } else {
        return i+1;
    }
    
}	
结果显示

代码思路都在注释里面

这个数在斐波那契数列里面

这个数不在斐波那契数列里面

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5097222.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存