使用Char,int等递归

时间:2014-10-15 05:36:59

标签: c++ recursion

我目前正在查看一个递归问题,它会询问用户一个值,并使用递归算法打印一个模式。我已经完成了算法,并且它可以与int一起使用,但是我如何才能使它与任何其他类型一起使用,char说的是什么?

这是我的算法,

#include <iostream>

using namespace std;

int str(int);
int main()
{
    int n;
    cout << "Enter a value for the pattern";
    cin >> n;

    str(n);
 return 0;
}

int str(int n)
{   
    int x;
    if(n==0)
    return -1;

    for(int i=0;i<n;i++)
        cout<<"*";
    cout<<endl;
    x= str(n-1);
    for(i=0;i<n;i++)
        cout<<"*";
    cout<<endl;
    return 0;
}

1 个答案:

答案 0 :(得分:1)

在递归中,函数必须:

  • 自称:好的
  • 返回您希望最终达到特殊点的计算值:当前str

我想你想要这样的东西:

int str(int n)
{   
    int x;
    if(n==0)
    return -1;

    for(int i=0;i<n;i++)
        cout<<"*";
    cout<<endl;
    x= str(n-1);
    return x;
}

或更多简洁:

int str(int n)
{   
    if(n==0)
    return -1;

    for(int i=0;i<n;i++)
        cout<<"*";
    cout<<endl;
    return str(n-1);
}