| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 467 人关注过本帖
标题:函数调用
只看楼主 加入收藏
三个人
Rank: 2
等 级:论坛游民
帖 子:54
专家分:40
注 册:2014-7-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
函数调用
问题如下
本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
我的代码
#include<stdio.h>
int main()
{
  int fz(int x);
  int fm(int y);
  int n,i;
  double sum=0;
  scanf("%d",&n);
  for(i=1;i<=n;i++)
  {
    sum+=(fz(i)/fm(i));
  }
  printf("%.2lf",sum);
  return 0;
}
int fz(int x)
{
  int c;
  if(x==1)
      c=2;
  else
      c=fz(x-1)+fm(x-1);
  return(c);
}
int fm(int y)
{
  int d;
  if(y==1)
      d=1;
  else
      d=fz(y-1);
  return(d);
}
编译没问题,但结果不对,没找到问题所在,求助。。
搜索更多相关主题的帖子: 编写程序 include double return 
2014-07-25 12:47
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:15 
int/int 得到的结果会是神马  绝对不是double

DO IT YOURSELF !
2014-07-25 12:50
步向巅峰
Rank: 5Rank: 5
来 自:河南
等 级:贵宾
威 望:17
帖 子:110
专家分:371
注 册:2013-4-26
收藏
得分:0 
回复 2 楼 wp231957
up
2014-07-25 12:51
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
刚才没有仔细看

你两个子函数相互调用  那不构成劣行循环了吗

DO IT YOURSELF !
2014-07-25 12:53
三个人
Rank: 2
等 级:论坛游民
帖 子:54
专家分:40
注 册:2014-7-6
收藏
得分:0 
不会啊,改成double就输出正确结果了
2014-07-25 12:55
三个人
Rank: 2
等 级:论坛游民
帖 子:54
专家分:40
注 册:2014-7-6
收藏
得分:0 
调用不是有终点么
2014-07-25 12:56
三个人
Rank: 2
等 级:论坛游民
帖 子:54
专家分:40
注 册:2014-7-6
收藏
得分:0 
以下是引用wp231957在2014-7-25 12:50:18的发言:

int/int 得到的结果会是神马  绝对不是double

秒懂!
2014-07-25 12:56
步向巅峰
Rank: 5Rank: 5
来 自:河南
等 级:贵宾
威 望:17
帖 子:110
专家分:371
注 册:2013-4-26
收藏
得分:0 
感觉被lz的代码搞晕了
2014-07-25 12:58
三个人
Rank: 2
等 级:论坛游民
帖 子:54
专家分:40
注 册:2014-7-6
收藏
得分:0 
我擦,为啥改完之后vc6.0能编译通过且正常运行,gcc编译就显示错误!!!

./source.c: In function 'fz':
./source.c:22:7: warning: implicit declaration of function 'fm' [-Wimplicit-function-declaration]
./source.c:5:10: note: previous declaration of 'fm' was here
./source.c:22:17: error: incompatible implicit declaration of function 'fm'
./source.c:5:10: note: previous implicit declaration of 'fm' was here
2014-07-25 13:08
Eagle24
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-7-25
收藏
得分:0 
“/”结果取整,你“/”左右都是int类型的,应该是因为这方面导致的结果不对吧。
2014-07-25 18:07
快速回复:函数调用
数据加载中...
 
   



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

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