luqingfei@C++

为中华之崛起而崛起!
兼听则明,偏听则暗。

关于函数返回引用的练习

题目:
编写一个函数,它返回两个long变量中较小值的引用。编写另一个函数,它返回较大值的引用。使用这两个函数生成斐波纳契级数的元素,即1,1,2,3,5,8,13……序列,其中每个数都等于前两个数之和,元素的个数由用户指定(提示:把序列中的两个数字存储在n1和n2中,它们都从1开始。如果把两个数的和存储在较小的变量中,并输出较大的值,就会得到希望的结果。难点是为什么这是可行的)。

答案:
#include <iostream>
#include 
<iomanip>
using std::cout;
using std::cin;
using std::endl;

long& smaller(long& m, long& n);
long& larger(long& m, long& n);

void main() {
    
int count = 0;
    cout 
<< "How many values in the Fibonacci sequence would you like? ";
    cin 
>> count;

    
long n1 = 1L// First in sequence
    long n2 = 1L// Second in sequence
    cout << endl 
         
<< std::setw(15<< n1
         
<< std::setw(15<< n2;
                 
    
for (int i=2; i<count; i++)
    {
        
if (i%5 == 0)
            cout 
<< endl;
        smaller(n1, n2) 
= n1 + n2;
        cout 
<< std::setw(15<< larger(n1, n2);
    }
    cout 
<< endl;
}

long& smaller(long& m, long& n)
{
    
return m<n?m:n;
}

long& larger(long& m, long& n)
{
    
return m>n?m:n;
}

posted on 2009-02-10 16:52 luqingfei 阅读(391) 评论(0)  编辑 收藏 引用 所属分类: C++基础


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

统计

留言簿(6)

随笔分类(109)

随笔档案(105)

Blogers

Game

Life

NodeJs

Python

Useful Webs

大牛

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜