setw()用于控制输出之间的间隔
cout<<'s'<<setw(6)<<'a'<<endl;
s和a之间有5个空格,cout<<'s'<<setw(6)<<'a'<<endl;的意思是s后面输出6个字符,其中a占一个字符,剩余5个字符用空格填充 ,setw()默认填充的内容为空格,可以setfill()设置其他字符填充。
cout<<'s'<<setfill('*')<<setw(6)<<'a'<<endl;
输出:
s*****a
setw()默认为右对齐,例如:
cout << setw(5) << "1" << endl;
如需左对齐,则:
cout << left<< setw(5) << "1" << endl;
例如:题目详情 - L1-008 求整数段和 (10 分) (pintia.cn)
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int x,y;
int sum=0;
cin>>x>>y;
for(int i=x;i<=y;i++)
{
cout<<setw(5)<<i;
sum+=i;
if((i-x+1)%5==0||i==y)
cout<<endl;
}
cout<<"Sum = "<<sum;
}