| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1576 人关注过本帖
标题:输入大于2的数输出都为1
只看楼主 加入收藏
古道风
Rank: 2
等 级:论坛游民
帖 子:12
专家分:17
注 册:2013-9-16
收藏
得分:0 
七楼的你看不懂?不会吧!!第一项的分子是第二项的分母,第一项的分子加上分母是第二项的分子,以此类推由前一项推后一项
   这样说该明白了吧!!!!
2013-11-01 15:39
无果分
Rank: 1
等 级:新手上路
帖 子:22
专家分:1
注 册:2013-10-26
收藏
得分:0 
回复 9楼 wkz2012
#include<stdio.h>
int fun(int n)
{
    if(n==1) return 2;
    else if(n==2) return 3;
    else return fun(n-2)+fun(n-1);
}
int  dom(int n)
{
    if(n==1) return 1;
    else if (n==2) return 2;
    else return dom(n-2)+dom(n-1);
}
int sum(int n)
{
    int sum = 0;
    return sum+=fun(n)/dom(n);
}
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        printf("%d\n",sum(n));
    }
    return 0;
}
这是我修改后的代码,你写的是分子分母分开算的对吧,看得懂,但是输入大于等于2的数输出结果还是1,
并且按题目来也不对
2013-11-01 15:43
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 12楼 无果分
明明是浮点数 为啥要定义int呢

DO IT YOURSELF !
2013-11-01 15:45
wkz2012
Rank: 4
等 级:业余侠客
帖 子:123
专家分:253
注 册:2012-12-13
收藏
得分:0 
回复 12楼 无果分
sum定义错了,不能用整型,我已经改过来了

我了个去的编程!
2013-11-01 15:52
无果分
Rank: 1
等 级:新手上路
帖 子:22
专家分:1
注 册:2013-10-26
收藏
得分:0 
回复 11楼 古道风
知道意思,但是不懂代码
2013-11-01 15:55
无果分
Rank: 1
等 级:新手上路
帖 子:22
专家分:1
注 册:2013-10-26
收藏
得分:0 
回复 14楼 wkz2012
好像不是整型的问题吧,输入大于2的输出都为1啊
2013-11-01 15:56
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
收藏
得分:0 
回复 16楼 无果分
看你这种格式像ACM....不应该犯这种低级错误啊...!

仰望星空...........不忘初心!
2013-11-01 16:02
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用无果分在2013-11-1 15:56:21的发言:

好像不是整型的问题吧,输入大于2的输出都为1啊
   不信我 我也没办法  
   大概楼主还不知道2个int类型相除  是不会得到double/float类型的数据的

DO IT YOURSELF !
2013-11-01 16:04
wkz2012
Rank: 4
等 级:业余侠客
帖 子:123
专家分:253
注 册:2012-12-13
收藏
得分:0 
#include<stdio.h>
int fun(int n)
{
    if(n==1) return 2;
    else if(n==2) return 3;
    else return fun(n-2)+fun(n-1);
}
int  dom(int n)
{
    if(n==1) return 1;
    else if (n==2) return 2;
    else return dom(n-2)+dom(n-1);
}
double sum(int n)
{
    if (n==0) return 0.00;
    else return sum(n-1)+(double)fun(n)/dom(n);
}
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        printf("%f\n",sum(n));
    }
    return 0;
}

我了个去的编程!
2013-11-01 16:07
无果分
Rank: 1
等 级:新手上路
帖 子:22
专家分:1
注 册:2013-10-26
收藏
得分:0 
回复 17楼 Susake
大一新生才学的,高看了
2013-11-01 16:07
快速回复:输入大于2的数输出都为1
数据加载中...
 
   



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

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