| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 325 人关注过本帖
标题:为什么无法输出?题目描述
只看楼主 加入收藏
continue24
Rank: 2
等 级:论坛游民
帖 子:38
专家分:96
注 册:2012-11-16
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:6 
为什么无法输出?题目描述
题目描述
斐波那契数列的第一项为0,第二项为1,第三项开始为前两项之和。
(0,1,1,2,3,5……)
现要求第n项斐波那契数。
输入0 结束
不超过30


输入
1
2
3
0

输出
f(1) = 0
f(2) = 1
f(3) = 1

样例输入
1
2
3
0
样例输出
f(1) = 0
f(2) = 1
f(3) = 1
这是题目我编了一套程序,但什么都无法输出而且连编译都通不过,不知道为什么,能麻烦大家帮帮忙吗?谢谢了。
#include<stdio.h>
int main()
{
    int  k,a,i,a[31];
    for(i=1;i<31;i++)
        scanf("%d\n",&a[i]);
    if(a[i]!=0)
    {for(a=1,i=0;i<31;i++)
        printf("f(%d)=%d",a[i],i);
         else
         { i=1;
         k=i+i+1;
         printf("f(%d)=%d\n",a[i],k);
         }
   
         
    }return 0;


}
搜索更多相关主题的帖子: include 
2012-11-16 22:59
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:20 
唉,你这我都不忍心要分了。

声明中有两个a没看到么?除此之外,你这是在干什么呢?

睡前送你一段代码好了。

程序代码:
#include<stdio.h>
int main()
{
    int f[31] = {0, 1}, i;
    for(i = 2; i <= 30; i++) f[i] = f[i - 1] + f[i - 2];
    while(scanf("%d", &i), i)
        printf("f(%d) = %d\n", i, f[i]);
    return 0;
}

重剑无锋,大巧不工
2012-11-17 00:01
hehxz2417692
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-11-16
收藏
得分:0 
版主威武- -
程序代码:
#include<stdio.h>
int main()
{
    int f[31] = {0, 1}, i;
    for(i = 2; i <31; i++)
    f[i] = f[i - 1] + f[i - 2];
    while(scanf("%d", &i), i)
    switch(i)
    {
    case 1:
        printf("f(1)=0\n");
    case 0:
        break;
        default: 
        printf("f(%d) = %d\n", i, f[i-1]);
    }
    return 0;
}

2012-11-17 01:25
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
不好意思,确实存在一处笔误。更正如下
程序代码:
#include<stdio.h>
int main()
{
    int f[31] = {0, 1}, i;
    for(i = 2; i <= 30; i++) f[i] = f[i - 1] + f[i - 2];
    while(scanf("%d", &i), i)
        printf("f(%d) = %d\n", i, f[i - 1]);
    return 0;
}

重剑无锋,大巧不工
2012-11-17 09:45
zxd543
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:内蒙古
等 级:贵宾
威 望:17
帖 子:453
专家分:2351
注 册:2012-4-12
收藏
得分:0 
回复 4楼 beyondyf
版主能不能解释一下while(scanf("%d", &i), i)的含义
之前用过while(scanf("%d", &i)==1)和while(scanf("%d", &i)!=EOF)都能明白

马马虎虎 不吝赐教 我是路过蹭分滴
2012-11-17 10:01
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
哦,多用了个逗号表达式,意在当i == 0时退出循环。
相当于
while(1)
{
    scanf("%d", &i);
    if(i == 0) break;
    doing...;
}

重剑无锋,大巧不工
2012-11-17 10:17
zxd543
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:内蒙古
等 级:贵宾
威 望:17
帖 子:453
专家分:2351
注 册:2012-4-12
收藏
得分:0 
回复 6楼 beyondyf
奥 明白 谢谢杨兄弟

马马虎虎 不吝赐教 我是路过蹭分滴
2012-11-17 15:32
快速回复:为什么无法输出?题目描述
数据加载中...
 
   



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

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