C ++程序接受int和print *

时间:2011-09-21 02:42:25

标签: c++

我正在自学C ++,我正在考虑一个简单的程序来熟悉语法。

int main(){
int num;
cout << "Enter a positive number:";
cin >> num;
printStar(num);
}

void printStar(int num){
.............................
}

这样函数printStar接受一个整数并打印*例如接受3并打印***或接受6并打印******或接受2并打印**。我正在考虑使用for或while循环并完成任何更好的想法建议吗?

3 个答案:

答案 0 :(得分:3)

您可以使用std::string

using namespace std;
cout << string(num, '*') << endl;

或STL的fill_n

using namespace std;
fill_n(ostream_iterator<char>(cout, ""), num, '*');

答案 1 :(得分:2)

您可以使用cout.fill

cout.fill('*');
cout.width(num);
cout << ' ' << endl;

请注意,这会混淆很多东西,所以你应该捕捉并重置填充和宽度:

char oldfill = cout.fill('*');
streamsize w = cout.width();
cout.fill('*');
cout.width(num);
cout << ' ' << endl;
cout.width(w);
cout.fill(oldfill);

答案 2 :(得分:1)

由于这是为了您自己的学习,我没有提供解决方案,提示是使用For或While循环。如果它有效,那就好了,否则就发布你的代码和问题。

A link to get you started