文章目录
1.字符串,字符数组,数字之间的转换
1.
str.c_str()
string转换为字符数组,可以用printf输出。
2.
stoi(str)
将string转换为数字串,直到遇到第一个非法字符为止。需要首字符是数字或者空格,否则返回错误。int n; string str; cin>>str; n = stoi(str); cout<<n;
3.
to_string()
将数字串转换为string。需要包含头文件string。to_string():数字—> 字符串 int n; cin>>n; string str; str = to_string(n); cout<<str;
2.输入方式
1.
cin.getline(strname,length)
用于输入字符数组 char str[100]。遇到换行符自动切换为空字符,不在保存在输入队列,因此不用getchar吸收
2.getline(cin,strname)
string头文件下,用于输入整行string。首行前要吸收换行符。
3.字符串判断:大小写,数字
4.字符串函数
赋值:
strcpy(c,s.c_str());
5.最大最小值
max_element()
:列表里最大值
max_element(a,a+10)-a
:最大值下标
*max_element(a,a+10)
:最大值
max();
:两者最大值
int a[10]={
1,4,5,4,9,5,6,8,2};
int position1=max_element(a,a+10)-a;
cout<<"position:"<<position1<<endl;
int n1=*max_element(a,a+3);
cout<<"max[0,3):"<<n1<<endl;
string s="123456aAbB";//按照ascill码
int position2=max_element(s.begin(),s.end())-s.begin();
cout<<"position:"<<position2<<endl;
char s1 = *max_element(s.begin(),s.end());
char s2 = *min_element(s.begin(),s.end());
cout<<"max:"<<s1<<endl;
cout<<"min:"<<s2<<endl;
cout<<max(1,2);
6.math
pow(n, r)
:求n的r次方
sqrt(x)
:算术平方根
floor(n)
:向下取整
ceil(n)
:向上取整
fabs(x)
:浮点数取正
abs(x)
:整数取正
7.reverse(s.begin(),s.end())
反转数组,容器:
reverse(s.begin(),s.end())
反转,s.end()是最后一位的下一位
int a[10]={
21,4,4,5,2,2};
reverse(a,a+6);
for(int i = 0; i < 6; i++){
cout<<a[i];
}
8.swap(x,y):交换这两个数
#include<bits/stdc++.h>
using namespace std;
int main(){
char a[]={
'a','b','c'};
do {
cout<<a[0]<<a[1]<<a[2]<<endl;
}while(next_permutation(a,a+3));
return 0;
}
abc
acb
bac
bca
cab
cba
9.substr(1,4)
10.Max=max(Max,sum[j]);
11.set s;
for (int i = 1; i <= n; i++)
s.insert(i / 2 + i / 3 + i / 5);