C++ 如何打印N个相同字符
有这样一个节目C++ 如何打印N个相同字符,c++,string,C++,String,有这样一个节目 #include <bits/stdc++.h> using std::cout; using std::endl; using std::string; int main() { const int n = 15; for(int i=0;i<n;i++) cout << string(n/2-1-i, ' ') << string(i*2+1, 42) << endl; retu
#include <bits/stdc++.h>
using std::cout;
using std::endl;
using std::string;
int main()
{
const int n = 15;
for(int i=0;i<n;i++)
cout << string(n/2-1-i, ' ') << string(i*2+1, 42) << endl;
return 0;
}
当
n=15
和i>=7
时,n/2-1-i
将为负值,因为n/2==7
。因此,您的程序需要重新设计
编辑:
只需更改一行:
cout << string(n-i-1, ' ') << string(i*2+1, 42) << endl;
您是否尝试传递一个负数作为字符串的大小<代码>15/2-1-7
是-1
。
cout << string(n-i-1, ' ') << string(i*2+1, 42) << endl;