1. cout << setiosflags(ios::fixed) << setprecision(n);
头文件:#include<iomanip>
cout << setiosflags(ios::fixed) << setprecision(n);
可以使得后面的输出都保留n位小数
示例
cout << setiosflags(ios::fixed) << setprecision(2); cout << 12.212; 输出: 12.21
2.stoi
头文件:#include <string>
函数原型:int stoi( const std::string& str, std::size_t* pos = nullptr, int base = 10 );
其三个参数可以理解为 stoi(字符串,起始位置,n进制)其中只有字符串没有默认值。
返回值:
如果转换成功的话,stoi函数将会把转换后的得到数字以int类型返回。
如果字符串中没有数字的话,将会抛出"invalid_argument"的异常;
如果字符串中的数字转换后超过int的范围,将会抛出"out_of_range"的异常;
举例
string a; cin >> a; cout << stoi(a)+1; 输入: 12 输出: 13
3.sort排序(从大到小)
sort函数的函数原型为:Sort(start,end,cmp)
start表示要排序数组的起始地址,end表示数组结束地址的下一位,cmp用于规定排序的方法,可不填,默认升序。
为了使sort函数可以从大到小排序,我们需要对参数cmp进行赋值
方法一:自己创造函数
bool cmp(int x,int y) { return x > y; }
方法二:使用greater<T>()函数。
头文件:#include <functional.h>
sort(strat,end,greater<T>())
4. isdigit()
头文件:#include <ctype.h>
函数原型:int isdigit(int c);
参数 c 表示要检测的字符或者 ASCII 码。
返回值:返回值为非 0(真)表示 c 是数字,返回值为 0(假)表示 c 不是数字。
举例
char a='1'; char b='x'; cout<<isdigit(a)<<endl; cout<<isdigit(b)<<endl; 输出: 4 0
5.getline
要想获取一个字符串,首先想到的便是cin运算符来输入字符串,但可能会导致一些问题:
当 cin 读取数据时,它会传递并忽略任何前导白色空格字符(空格、制表符或换行符)。一旦它接触到第一个非空格字符即开始阅读,当它读取到下一个空白字符时,它将停止读取。为了解决这个问题,就出现了 getline 函数。此函数可读取整行,包括前导和嵌入的空格,并将其存储在字符串对象中。
头文件:#include<string>
函数原型:getline(cin, inputLine);
其中, cin 是正在读取的输入流,而 inputLine 是接收输入字符串的 string 变量的名称
举例
//使用cin string a; cin >> a; cout << a ; 输入: beijing shanhai 输出: beijing //使用getline string b; getline(cin, b); cout << b; 输入: beijing shanhai 输出: beijing shanhai
6.使用vector中erase的注意事项
erase会改变容器的大小,之后使用容器大小时不可以用刚开始的n,而要用vector.size来表示容器的大小,因为在使用容器的过程中可能使用了erase之类的函数改变了容器的大小
7.setfill函数
可以配合setw函数一起使用,从而使得
举例:
int a; cin >> a; cout << setfill('0') << setw(5) << a;//也可以把setfill('0')和setw(5)的顺序调换一下 输入: 12 输出: 00012