基本上,我想编写一个程序,它使用一个函数在屏幕上显示星号。长度由输入参数指定。如果用户输入2,它将如下所示:
**
**
string myfunct(int thelength)
{
string s1;
for (int i=1;i<=thelength;i++)
{
string s1 =+ " * ";
}
return s1;
}
答案 0 :(得分:4)
回答原始问题,该问题要求函数返回带有n
星号的字符串,其中n
由调用者输入。
std::string
有一个构造函数,用于构造一个包含给定字符的N个副本的字符串:
std::string myfunct(int thelength)
{
return std::string(theLength, '*');
}
这将返回由theLength
星号*
组成的字符串。
答案 1 :(得分:1)
现有的答案都是错误的,你想要:
std::string asterisks(int n) { return std::string(n, '*'); }
答案 2 :(得分:0)
在你的代码中,你在for循环中定义了一个局部变量string s1
,它掩盖了外部定义的变量。因此,在每次迭代中,您将一个星号添加到空s1
字符串中。而且,replace = + with + =。如果所需的输出是:
for size = 2
**
**
尺寸= 3
***
***
那么你的代码可能是这样的:
#include<iostream>
using namespace std;
string myfunct(int thelength)
{
string s1;
for (int i=1;i<=thelength;i++)
{
s1 += " * ";
}
return s1;
}
int main()
{
cout << "Enter no of stars: ";
int size;
cin >> size;
cout << myfunct(size) << endl;
cout << endl;
cout << myfunct(size) << endl;
}