【发布时间】:2021-11-11 05:11:15
【问题描述】:
这是使用空格给出我想要的输出的代码,但我必须使用 setw 执行任务,这不是我想要的(附加第二个代码)。请帮忙!
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
cout << " _________________________________________________________" <<endl ;
cout << " / \\ " <<endl;
cout << " / \\ " <<endl;
cout << " / \\ " <<endl;
cout << " / \\ " <<endl;
cout << " / \\ " <<endl;
cout << " / \\ " <<endl;
return 0;
}
所需的无效代码:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
cout << setw(15) << "_________________________________________________________" <<endl ;
cout << setw(14)<< "/ \\ " <<endl;
cout << setw(13)<< "/ \\ " <<endl;
cout << setw(12)<< "/ \\ " <<endl;
cout << setw(11)<<"/ \\ " <<endl;
cout << setw(10)<<"/ \\ " <<endl;
cout << setw(9)<<"/ \\ " <<endl;
return 0;
}
想要的输出:
_________________________________________________________
/ \
/ \
/ \
/ \
/ \
/ \
【问题讨论】:
-
您误解了
setw的工作原理。该参数是输出的总宽度,在您的示例中,输出的宽度始终大于您传递给setw的参数 -
您能解释一下为什么使用代码中使用的 setw 值吗?为什么你认为它适用于字母而不适用于破折号?
-
那么我应该怎么做,因为我只能用 setw 来执行这个任务。
-
我使用 setw 值而不是空格
-
语法正确,宽度错误。为什么选择
15?