| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 360 人关注过本帖
标题:拜托各位帮帮忙,看看哪里错了!新手求助,嘻嘻
只看楼主 加入收藏
DYONGJ
Rank: 2
来 自:天津
等 级:论坛游民
帖 子:16
专家分:20
注 册:2012-11-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
拜托各位帮帮忙,看看哪里错了!新手求助,嘻嘻
Problem description
  有一个数列,它的第一项为0,第二项为1,以后每一项都是它的前两项之和,试产生出此数列的前n项,并按逆序输出。
Input
  多行数据,每行一个整数n(n<=40),表示数列前n项。
Output
  按逆序输出此数列前n项,数据间用一个空格分隔,最后一个数据后面无空格。
 
#include<iostream>
using namespace std;
const int N=40;
int a[N]={0};
int main()
{
    int n;
    a[0]=0,a[1]=1;
    while(cin>>n)
    {
        N=n;
        for(int i=2,i<N,i++)
            a[i]=a[i-1]+a[i-2];
        cout<<a[N-1];
        for(int i=N-2,i>=0,i++)
            cout<<" "<<a[i];
        cout<<endl;
    }
    return 0;
}
搜索更多相关主题的帖子: include 
2012-11-23 18:47
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
收藏
得分:1 
用一个递归函数就很方便了 。。。
如:
fun(int i)
{
    if(i=1||i=2)
return 1;
if(i=3)
return 2;
else
return fun(i-1)+fun(i-2);
}

有心者,千方百计;无心者,千难万难。
2012-11-23 19:53
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
收藏
得分:5 
程序代码:
#include<iostream>
using namespace std;
int fun(int i)
{
    if(i==1||i==2)
    {
        return 1;
    }
    else
    {
        return fun(i-1)+fun(i-2);
    }
}
int main()
{
    int a[40],i,j,n;
    cin>>n;
    cout<<endl;
    for(i=0,j=1;i<n,j<=n;i++,j++)
    {
        a[i]=fun(j);
        cout<<a[i]<<"\n";
    }
    for(i=0;i<n;i++)
    {
        cout<<" "<<a[i];
    }
    return 0;
} 

有心者,千方百计;无心者,千难万难。
2012-11-23 20:12
zxd543
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:内蒙古
等 级:贵宾
威 望:17
帖 子:453
专家分:2351
注 册:2012-4-12
收藏
得分:7 
#include<iostream>
using namespace std;
int main()
{
    int a[45]={0,1};
    int n,i;
    while(cin>>n)
    {
        for(i=2;i<=n;i++)//分号
            a[i]=a[i-1]+a[i-2];

        for(i=n;i>=0;i--)//第一个没空格 倒叙要--
        {
            if(i==0)
               cout<<a[i];
            else
               cout<<a[i]<<" ";
        }
        cout<<endl;   
    }
    return 0;
}
不能AC的话给网址

马马虎虎 不吝赐教 我是路过蹭分滴
2012-11-23 23:53
wuxia111111
Rank: 2
等 级:论坛游民
帖 子:32
专家分:60
注 册:2012-11-18
收藏
得分:4 
#include<iostream>
using namespace std;
const int N=40;// N已定义为常量,不可在变
int a[N]={0};
int main()
{
    int n;
    a[0]=0,a[1]=1;
    cout<<"请输入一个数:";
    while(cin>>n)
    {
      
        for(int i=2;i<N;i++)//里面为分号
            a[i]=a[i-1]+a[i-2];
        for(int j=N-1;j>=0;j--)
        {   
            cout<<" "<<a[j];
        }
        cout<<endl;
    }
    return 0;
 
}
2012-11-24 00:46
mmmmmmmmmmmm
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:8
帖 子:388
专家分:1809
注 册:2012-11-2
收藏
得分:3 
对楼主的程序进行了 修正 供参考哈

程序代码:
#include<iostream>
using namespace std;
const int N=40;
int a[N]={0};
int main()
{
    int n;
    a[0]=0,a[1]=1;
    while(cin>>n)
    {
        
        for(int i=2; i<n; i++)
            a[i]=a[i-1]+a[i-2];
        cout<<a[n-1];
        for(int j=n-2; j>=0; j--)
            cout<<" "<<a[j];
        cout<<endl;
    }
    return 0;
}

我们的目标只有一个:消灭0回复!
while(1)
++money;
2012-11-26 10:27
DYONGJ
Rank: 2
来 自:天津
等 级:论坛游民
帖 子:16
专家分:20
注 册:2012-11-15
收藏
得分:0 
谢谢各位的帮助!嘻嘻
2012-11-28 17:48
快速回复:拜托各位帮帮忙,看看哪里错了!新手求助,嘻嘻
数据加载中...
 
   



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

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