本人大二,写博客只是为了积累学过的知识!!!
正在自学算法,有兴趣的私信一起学习呀!!!
寒假冲冲冲!!!
cin讲解
cin 可以连续从键盘读取想要的数据,以空格、tab 或换行作为分隔符
当 cin>> 从缓冲区中读取数据时,若缓冲区中第一个字符是空格、tab或换行这些分隔符时,cin>> 会将其忽略并清除,继续读取下一个字符,若缓冲区为空,则继续等待。但是如果读取成功,字符后面的分隔符是残留在缓冲区的,cin>> 不做处理。
1、
当定义了一个字符串数组时,可以直接用 cin 读入一个字符串
char a [N]; cin>>a+1; //从下标为1的地方开始
2、
可以用 cin 读取用空格隔开的字符
例:假设输入3个操作符(中间用空格隔开)
a b c
char s[4]; for(int i=0;i<3;i++) cin>>s[i]; //会自动忽略掉中间的空格
3、puts()函数
头文件:#include
puts()函数用于将一字符串放到标准输出流(stdout)中,并在最后增加换行符 ‘n’,其函数原型如下:
int puts(char *string);
【参数】string为要输出的字符串。
最主要是输出自动换行
printf("%sn", name);
puts(name); //第一种使用方法
二者是等价的
puts("hello world");//第二种使用方法
unique去重函数
unique(begin,end)
begin 首地址 end 最后一个元素的后一个地址
unique()是C++标准库函数里面的函数,其功能是去除相邻的重复元素(只保留一个),所以使用前需要对数组进行排序
那它是怎么实现去重的呢?删除?
不是,它并没有将重复的元素删除,而是把重复的元素放到数组的最后面藏起来了,函数最终结果返回重复元素开始的首地址。
例:
int a[15]={0,8,41,1,5,5,8,9,45,88,99,5,99,88,8};
sort(a, a + 15);
cout << "a数组排好序的序列" << endl;
for (auto c : a)
cout << c << ' ';
puts("");
int *p=unique(a, a + 15);
cout << "a数组去重后的序列" << endl;
for (auto c : a)
cout << c << ' ';
cout << endl<<"unique 函数返回的地址处的值" << endl;
cout << *p;
输出
C库函数 int tolower(int c)转换给定的字母为小写。
C库函数 int toupper(int c)转换给定的字母为大写。
例:将 s 变成小写字符串
string s;
string get_lower(string s=a)
{
string res;
for(auto c:s)
res+=tolower(c); //string 字符串可以直接相加减
return res;
}
s=get_lower(s);
本人水平有限,如有错误敬请指正!!!



