| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2640 人关注过本帖
标题:k阶斐波那契数列
只看楼主 加入收藏
浮云之冰雪
Rank: 2
等 级:论坛游民
帖 子:74
专家分:89
注 册:2013-5-11
结帖率:90.91%
收藏
已结贴  问题点数:20 回复次数:8 
k阶斐波那契数列
无数字输出,哪位同志能为我解答,
/**********************************
图片附件: 游客没有浏览图片的权限,请 登录注册
***************
/                 k阶斐波那契数列
/                        
*************************************************/
#include"stdio.h"
#define N 200
int *fun(int k,int n)
{
    int a[N],i,j,*q=a;
    for(i=0;i<n;i++)
        a[i]=0;
    a[k-1]=1;
    j=k;
    for(i=k;i<n;i++)
        for(j=0;j<k;j++)
            a[i]=a[i]+a[i-1];
    return q;
}
main()
{
    int i,k,n,*p=NULL;
    scanf("%d",&k,&n);
    p=fun(k,n);
    for(i=0;i<n;i++)
        printf("%d\n",p[i]);
}
搜索更多相关主题的帖子: include return 
2013-09-05 12:53
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:4 
解答什么

程序算法正确与否先不说,fun你返回一个栈空间干什么?

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-09-05 13:39
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
很早的时候写的:
http://blog.

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-09-05 13:40
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:4 
这里还有一处
 scanf("%d",&k,&n);

www.qunxingw.wang
2013-09-05 14:17
jg658237
Rank: 7Rank: 7Rank: 7
来 自:青藏高原
等 级:黑侠
帖 子:224
专家分:529
注 册:2013-8-8
收藏
得分:4 
#include "stdio.h"
#define N 200

int *fun(int k,int n)
{
    int a[N],i,j;
    int *q;
     q=a;
    for(i=0;i<n;i++)
   { a[i]=0;
    a[k-1]=1;
    j=k;
    for(i=k;i<n;i++)
        for(j=0;j<k;j++)
            a[i]=a[i]+a[i-1];
            
    return q;}
}
int main(void)
{
    int i,k,n,*p=NULL;
    scanf("%d%d",&k,&n);
    p=fun(k,n);
    for(i=0;i<n;i++)
        printf("%d\n",p[i]);

return 0;
}                          我帮你修改好了 ,你试试吧。

武功再高也怕菜刀.
2013-09-05 15:52
浮云之冰雪
Rank: 2
等 级:论坛游民
帖 子:74
专家分:89
注 册:2013-5-11
收藏
得分:0 
还是有致命问题,输出的是错误结果。

潇洒不可少!
2013-09-06 12:11
你猜猜猜猜
Rank: 2
等 级:论坛游民
帖 子:35
专家分:44
注 册:2013-9-2
收藏
得分:4 
#include <stdio.h>
#include <stdlib.h>
#define  enoughsize 100  //最大队列长度
typedef struct
{
    int *base;     //初始化的动态分配存储空间
    int front;      //头指针,若队列不空,指向队列头元素
    int rear;      //尾指针,若队列不空,指向队列尾元素的下一个位置
}SqQueue;
int AddSum(int n,int *q)
{
    int sum=0;
    int i;
    for(i=0;i<n;i++)  sum+=q[i];
    return sum;
}

void main()
{
    SqQueue Q;
    int k,max,i,n,*store;
    printf("请输入斐波那奇的阶数:");
    scanf("%d",&k);
    printf("请输入序列中允许的最大数:");
    scanf("%d",&max);
    Q.base=(int*)malloc(k*sizeof(int));
    store=(int*)malloc(enoughsize*sizeof(int));
    if((!Q.base)||(!store))
    {
        printf("Error!");
        return;
    }
    for(i=0;i<k;i++)
    {
        store[i]=0;
        Q.base[i]=0;
    }
    store[k-1]=1;
    Q.base[k-1]=1;   //初始化fib序列
    store[k]=AddSum(k,Q.base);
    Q.front=0;
    Q.rear=k-1;
    n=k;
    while(store[n]<=max)
    {
        Q.rear=(Q.rear+1)%k;
        Q.base[Q.rear]=store[n];
        n++;
        store[n]=AddSum(k,Q.base);
    }
    printf("The first %d%s%d%c%s",n," numbers are less than ",max,'.',"\n");
    printf("The numbers are:\n");
    for(i=0;i<n;i++)  printf("%d%c",store[i],' ');
    printf("\n");
}
,,,,,,,,,这是我在论坛上看到的一个,,,,,,,虽然我对这个程序还没看太懂,但这个答案应该是正确的,,,,,
2013-09-06 12:58
浮云之冰雪
Rank: 2
等 级:论坛游民
帖 子:74
专家分:89
注 册:2013-5-11
收藏
得分:0 
真想治好我的程序……

潇洒不可少!
2013-09-06 13:15
imzaghi333
Rank: 2
来 自:江苏昆山
等 级:论坛游民
帖 子:34
专家分:61
注 册:2013-9-7
收藏
得分:4 
//迭代实现
#include <stdio.h>
#define SIZE 100

double Fibonacci(int n);

int main()
{
    int i;
    for(i = 0; i<= SIZE; i++){
        printf("Fibonacci[%d]= %.1f\n", i, Fibonacci(i));
    }
    printf("\n");
    return 0;
}
double Fibonacci(int n)
{
    int loop;
    double fib[SIZE];
    fib[0] = 0;
    fib[1] = 1;
    for(loop = 2; loop <=n; loop++){
        fib[loop] = fib[loop-1] + fib[loop-2];
    }
    return fib[n];
}


// Fibonacci递归实现
#include <stdio.h>

long fibonacci(long n);

int main(void)
{
    long number;
    long result;
    printf("Enter a integer number: ");
    scanf("%ld", &number);
    result = fibonacci(number);
    printf("Fibonacci(%ld) = %ld", number, result);
    return 0;
}
long fibonacci(long n)
{
    if(n == 0 || n == 1){
        return n;
    } //base case
    else{
        return fibonacci(n-2)+fibonacci(n-1);
    }
}

非专业的C语言爱好者.正在学习中..........
2013-09-07 22:58
快速回复:k阶斐波那契数列
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013121 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved