| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1151 人关注过本帖
标题:递归函数编程题做不出来,求教
只看楼主 加入收藏
地狱天使79
Rank: 2
等 级:论坛游民
帖 子:21
专家分:15
注 册:2012-5-8
结帖率:37.5%
收藏
已结贴  问题点数:20 回复次数:8 
递归函数编程题做不出来,求教
有一道编程题要求用递归函数输出下列值:
    1
   121
  12321
 1234321
123454321
我做完以后编译通过,但是什么值也没有,不知道错在什么地方了

#include <stdio.h>
int a(int i)
{
    return i=a(i);
}
main()
{
   int i,n=5,j,b;
   for(i=1;i<=n;i++)
   {
      for(j=1;j<n-i;j++)
      printf(" ");

      for(j=1;j<i+1;j++)
      printf("%d",a(j));

      for(j=i;j>0;j--)
      {
        b=a(a(j)-1);
        printf("%d",b);
      }
    printf("\n");  

   }        
}
搜索更多相关主题的帖子: 编程 include return 
2012-05-24 13:16
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:5 
用到递归时一定要想到递归结束的条件,请问楼主函数a结束递归的条件是什么?

总有那身价贱的人给作业贴回复完整的代码
2012-05-24 13:29
地狱天使79
Rank: 2
等 级:论坛游民
帖 子:21
专家分:15
注 册:2012-5-8
收藏
得分:0 
a(i)中的i为0时,程序就退出了吧
2012-05-24 14:12
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
i怎么等于0?等于0退出你写了吗?

总有那身价贱的人给作业贴回复完整的代码
2012-05-24 14:29
love24114
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:223
专家分:399
注 册:2011-7-11
收藏
得分:5 
//那个函数去掉吧
main()
{
    int i,n=5,j,b;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n-i;j++)
            printf(" ");
        
        for(j=1;j<=i;j++)
            printf("%d",j);
        
        for(j=i-1;j>0;j--)
        {
            b=j;
            printf("%d",b);
        }
        printf("\n");  
        
    }        
}
2012-05-24 16:13
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:5 
理解一下这段代码,你就明白embed_xuel说的是什么了。不知道这是不是你想要的递归方式。
程序代码:
#include<stdio.h>
void output(int space, int n)
{
    int i;
    if(n == 0) return;
    output(space + 1, n - 1);
    for(i = 0; i < space; i++) putchar(' ');
    for(i = 1; i < n; printf("%d", i++));
    for(; i > 0; printf("%d", i--));
    puts("");
}

int main()
{
    int n = 5;
    output(0, n);
    return 0;
}


重剑无锋,大巧不工
2012-05-24 17:07
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:5 
回复 6楼 beyondyf
杨大哥  小弟折服

                                         
===========深入<----------------->浅出============
2012-05-25 08:58
地狱天使79
Rank: 2
等 级:论坛游民
帖 子:21
专家分:15
注 册:2012-5-8
收藏
得分:0 
明白了。只不过c语言我以前只学过二级考试,学
得浅,你的这套代码我是编不出来的。不过我看过后,
怎么感觉打印出来的是倒三角呢
2012-05-25 14:10
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
明白了?
明白了怎么会感觉是倒三角呢?
代码是用来编译执行的,不是用来感觉的。

重剑无锋,大巧不工
2012-05-28 21:42
快速回复:递归函数编程题做不出来,求教
数据加载中...
 
   



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

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