我必须编写一个程序,其中要从用户输入整数值,并且该字符串必须显示多次。但是我遇到了错误。
if(current[i].type === 'folder'){
return(
<>
<HelpFolder
type={current[i].type}
name={current[i].name}
path={current[i].path}
/>
{traverseFolder(current[i])}
</>
);
}
注意:不允许我在此作业中使用循环。
答案 0 :(得分:2)
EDIT2:在原始要求者的评论中,此分配禁止任何形式的循环。
使用递归。
void printN(int n, string s) {
if (n <= 0) return;
cout << s << endl;
printN(n-1, s);
}
然后您可以从主程序中按以下方式调用它:
printN(userInput, "Hi my name is ricky bobby");
编辑:刚刚看到您还没有学会递归。查找这个术语,并熟悉它。这是一种无需循环即可进行迭代的方法(这是我可以描述的最简单的方法)
答案 1 :(得分:2)
如果您不使用循环,则可以使用goto
来绕开限制:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int N;
cout << "Enter N: ";
cin >> N;
{
int i = 0;
goto test;
begin:
cout << "Well Done";
++i;
test:
if (i < N)
goto begin;
}
return 0;
}
请注意,goto
被广泛认为是不良做法。
答案 2 :(得分:-1)
std::string
没有将字符串重复N次的构造函数(但是,确实有一个将单个字符重复N次的构造函数)。您需要的是一个循环,例如:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int N;
cout << "Enter N: ";
cin >> N;
for (int i = 0; i < N; ++i)
cout << "Well Done";
return 0;
}