| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7350 人关注过本帖
标题:斐波那契数列程序
只看楼主 加入收藏
宁静的夏天
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2010-7-2
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:12 
斐波那契数列程序
#include<stdio.h>
int f(int n)
{
    int f;
    if(n==1||n==2)
         f=1;
    else
        f=f(n-1)+f(n-2);
    return f ;
}


void main()
{
    int n;
    printf("please input the month n:\n");
    scanf("%d",&n);
    printf("the %dth month of the rabits is %d\n",n,f(n));

}我觉得程序没问题,但老有下面的错误,哪位帮忙看一下,O(∩_∩)O谢谢!
E:\xyq\11.cpp(10) : error C2064: term does not evaluate to a function
E:\xyq\11.cpp(10) : error C2064: term does not evaluate to a function
Error executing cl.exe.

[ 本帖最后由 宁静的夏天 于 2010-7-9 17:46 编辑 ]
搜索更多相关主题的帖子: return 
2010-07-09 17:09
毕业旅行
Rank: 4
等 级:业余侠客
威 望:1
帖 子:130
专家分:280
注 册:2010-7-7
收藏
得分:5 
#include<stdio.h>
int f(int n)
{
    int a;
    if(n==1||n==2)
         a=1;
    else
        a=f(n-1)+f(n-2);
    return a ;
}


void main()
{
    int n;
    printf("please input the month n:\n");
    scanf("%d",&n);
    printf("the %dth month of the rabits is %d",n,f(n));

}
2010-07-09 17:40
宁静的夏天
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2010-7-2
收藏
得分:0 
为什么用f就不行呢?
2010-07-09 17:47
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1692
专家分:4282
注 册:2007-12-27
收藏
得分:5 
一个孩子的名字和他妈妈的名字相同,那是非常容易乱套的。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2010-07-09 17:51
宁静的夏天
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2010-7-2
收藏
得分:0 
不一样啊,一个是函数名,并且有参数,而另外一个为变量
2010-07-09 18:05
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:5 
编译器可不认识你

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2010-07-09 18:53
yangfanconan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:10
帖 子:397
专家分:541
注 册:2009-9-22
收藏
得分:5 
程序代码:
#include<stdio.h>
int f(int n)
{
    int a;
    if(n==1||n==2)
         a=1;
    else
        a=f(n-1)+f(n-2);
    return a;
}
void main()
{
    int n;
    printf("please input the month n:\n");
    scanf("%d",&n);
    printf("the %dth month of the rabits is %d",n,f(n));
}
2010-07-09 19:07
yangfanconan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:10
帖 子:397
专家分:541
注 册:2009-9-22
收藏
得分:0 
回复 5楼 宁静的夏天
方便电脑也方便你变成,还是分开吧。
在自定义指标时,有些自己设定的功能模块(一段代码)会反复使用,但是由于每次赋值不同,所以每次都得贴一遍,造成代码很长,可读性也不好,因此想寻求进行“自定义函数”的办法。下面是别的软件自定义函数的简例!

例如:数学函数ft(x,y)=3x+2y (x,y为正整数) 写成程序语句就是:
int ft(int x,int y)
{
int temp;
temp=3*x+2*y;
return(temp);
}
一、和自定义变量一样,自定义函数在使用前,也必须先设立,以定义其类型、名称、参数和运算语句。
函数类型、名称、参数位于函数头部(参数间以逗号分隔),
大括号中的是运算语句,也就是函数体部分。
return语句为函数结束语句,return后面括号中的值为函数返回值,即函数运算结果。
上例中,int为函数类型,表示该函数的返回值(运算结果)是整数;
(x,y)为参数,由于自定义变量使用之前都必须先创建,所以要加上类型定义词int
ft为函数名,有了函数名,我们就可以在别处用ft(2,1)的形式来调用此函数;
函数体部分有三句:
第一句,定义一个整形变量temp
第二句,计算temp的值
第三句,函数结束,返回调用点,以temp的值作为本函数返回值。
此函数也可以简写为:int ft(int x,int y) {return(3*x+2*y);}
二、函数类型与类型符
函数类型就是函数返回值(运算结果)的类型,与自定义变量类型差不多
有整型(int)、双精度型(double)、字符串型(string)、逻辑型(bool)等,
还有一种函数是以函数运行为目的,运行结束后不需要返回值也没有返回值的,则函数类型可以写成void(无值型)
三、函数中如果定义了自定义变量,那么此变量仅在本函数内部存在,函数运行结束时,自定义变量也就自动注销。
上例中,有x、y、temp三个自定义变量,在函数运行时创建,在函数运行结束时自动消失,仅在函数内部有效,与函数外部无关。
四、函数的调用
函数调用非常简单,只要函数名正确、参数个数一致、类型相同就能正确调用
如我们前面创建了ft(x,y)函数,则别处我们可以用ft(4,5)等样式来调用ft(x,y)函数求值。
调用时,传递参数值给ft(x,y)函数(按顺序把4传给x,把5传给y),返回结果23后继续执行主程序。

2010-07-09 19:09
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1692
专家分:4282
注 册:2007-12-27
收藏
得分:0 
以下是引用宁静的夏天在2010-7-9 18:05:16的发言:

不一样啊,一个是函数名,并且有参数,而另外一个为变量
函数名作为地址常量,可以放在等号后面用来给指针赋值。因此在语义上与变量有重叠之处,所以站在编译器的立场,不希望它们重名。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2010-07-09 22:36
宁静的夏天
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2010-7-2
收藏
得分:0 
变量不是不能给指针赋值吗?这样不是可以区分吗?怎么会有重叠之处呢?

[ 本帖最后由 宁静的夏天 于 2010-7-9 22:43 编辑 ]
2010-07-09 22:40
快速回复:斐波那契数列程序
数据加载中...
 
   



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

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