目录
代码实现
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
int A,B;
cin>>A>>B;
int sum=0,j=0;
for(int i=B-A;i>=0;i--,j++){
if(j%5==0&&j!=0)
cout<<endl;
cout<<std::right<<setw(5)<<(A+j);
sum+=(A+j);
}
cout<<endl;
cout<<"Sum = "<<sum;
return 0;
}
iomani讲解
首先,iomanip的英文缩写是 Input/Output Manipulators。
区别:
iomanip
和 iostream
都是 C++ 中的输入输出库,但它们的作用是不同的。
iostream
库用于控制台或文件的输入输出。它包含了 std::cin
和 std::cout
等对象,用于读取和输出数据。
而 iomanip
库则用于控制输入输出的格式。它包含了一些流操作符、格式标志和流控制符等,可以帮助您设置输出的精度、字段宽度、填充字符、对齐方式等。
因此,虽然 iostream
和 iomanip
两个库都用于输入输出,但它们的作用是不同的。iostream
负责数据的输入输出,而 iomanip
则负责输入输出的格式控制。
具体
setw
std::setw()
函数用于设置输出字段的宽度。它接受一个整数参数,表示字段宽度。如果输出字段的宽度小于设置的宽度,将使用填充字符填充。默认的填充字符是空格。
set wide
#include <iostream>
#include <iomanip>
int main() {
int num = 123;
std::cout << std::setw(5) << num << std::endl; // 输出:" 123"
return 0;
}
setprecision
std::setprecision()
函数用于设置浮点数的输出精度。它接受一个整数参数,表示要输出的小数位数。
precision精度n.
#include <iostream>
#include <iomanip>
int main() {
double num = 3.14159265358979323846;
std::cout << std::setprecision(4) << num << std::endl; // 输出:"3.142"
return 0;
}
setfill
std::setfill()
函数用于设置填充字符。它接受一个字符参数,表示要使用的填充字符。
#include <iostream>
#include <iomanip>
int main() {
int num = 123;
std::cout << std::setfill('0') << std::setw(5) << num << std::endl; // 输出:"00123"
return 0;
}
setiosflags
std::setiosflags()
函数用于设置流格式标志。它接受一个格式标志参数,表示要设置的标志。
在 setiosflags
中,IOS
是指 Input/Output Stream 的缩写,即输入/输出流。
在 C++ 标准库中,IOS
是 ios_base
类的一个别名,它定义了输入/输出流的一些基本属性和行为。
#include <iostream>
#include <iomanip>
int main() {
int num = 123;
std::cout << std::setiosflags(std::ios::hex | std::ios::showbase) << num << std::endl; // 输出:"0x7b"
return 0;
}
向左对齐
可以使用 std::left
流格式标志设置左对齐。当使用 std::setw()
函数设置字段宽度时,输出的内容会被放置在字段的左侧。
#include <iostream>
#include <iomanip>
int main() {
int num = 123;
std::cout << std::left << std::setw(5) << num << std::endl; // 输出:"123 "
return 0;
}
向右对齐
可以使用 std::right
流格式标志将输出格式恢复为向右对齐。
#include <iostream>
#include <iomanip>
int main() {
int num = 123;
std::cout << std::left << std::setw(5) << num << std::endl; // 输出:"123 "
std::cout << std::right << std::setw(5) << num << std::endl; // 输出:" 123"
return 0;
}
可以使用 std::setw()
函数设置字段宽度,同时使用 std::setfill()
函数设置填充字符。如果设置的字段宽度大于输出内容的长度,则会使用填充字符在左边填充。
#include <iostream>
#include <iomanip>
int main() {
int num = 123;
std::cout << std::setw(5) << std::setfill(' ') << num << std::endl; // 输出:" 123"
return 0;
}