本人大二,写博客只是为了积累学过的知识!!!
正在自学算法,有兴趣的私信一起学习呀!!!
寒假冲冲冲!!!
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);
本人水平有限,如有错误敬请指正!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)