这是代码:
for (i = 0; i < max; i++) { //RIGHT-SHIFT
cout << " "; //blank space before padding
cout << "***"; //left padding
for (j = i; j >= 0; j--) { // this prints one more * than the last line (left side)
cout << "**";
}
for (k = 0; k < width; k++) { // print the white space
cout << " ";
}
for (j = max - i; j > 0; j--) { // this prints one less than the last line (right side)
cout << "**";
}
cout << "***\n";//right padding
}
for (i = max; i > 0; i--) { //LEFT-SHIFT
cout << " "; //blank space before padding
cout << "***"; //left padding
for (j = i; j >= 0; j--) { // this prints one more * than the last line (left side)
cout << "**";
}
for (k = 0; k < width; k++) { // print the white space
cout << " ";
}
for (j = max - i; j > 0; j--) { // this prints one less than the last line (right side)
cout << "**";
}
cout << "***\n";//right padding
}
它看起来像
我希望第一行有4 - 19而不是5到20.我该怎么改变它?
答案 0 :(得分:0)
在每个外环中的初始cout << "***"
中打印少一个星号。即。为你的“左边填充”做cout << "**"
。这将使所有行都缩小一个星号,但会保留整体模式,这就是我认为你想要的。