C++ 使用Char、int等进行递归

C++ 使用Char、int等进行递归,c++,recursion,C++,Recursion,我目前正在研究一个递归问题,它要求用户输入一个值,并使用递归算法打印一个模式。我已经完成了算法,它可以处理int,但是我怎样才能使它也可以处理任何其他类型的字符呢 这是我的算法 #include <iostream> using namespace std; int str(int); int main() { int n; cout << "Enter a value for the pattern"; cin >> n;

我目前正在研究一个递归问题,它要求用户输入一个值,并使用递归算法打印一个模式。我已经完成了算法,它可以处理int,但是我怎样才能使它也可以处理任何其他类型的字符呢

这是我的算法

#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;
}
#包括
使用名称空间std;
int-str(int);
int main()
{
int n;
cout>n;
str(n);
返回0;
}
int str(int n)
{   
int x;
如果(n==0)
返回-1;

对于递归中的(int i=0;i,函数必须:

  • 自称:好的
  • 返回一个计算值,您希望它最终达到一个特殊点:current
    str
    Nots
我想你想要的是:

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;
}
intstr(intn)
{   
int x;
如果(n==0)
返回-1;

对于(int i=0;i您正在传递长度,因此您使用
int
value。现在我不明白您为什么要发送
char
value?您将发送什么,请给出一个示例。我在上面编辑了我的代码,它将要求用户输入一个值并将其纳入算法。我希望用户能够输入任何类型的值,无论是char还是int
x
的要点?除非不清楚,否则您永远不会访问它!如果用户输入值
a
,您希望得到什么输出?如果用户输入字符…您希望发生什么?
int str(int n)
{   
    if(n==0)
    return -1;

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