蓝桥杯-3.4

1.C++中的逆转函数,reverse()-------用于string类;strrev()------用于char[]数组。

#include<string>
#include<algorithm>
string str;
str="hello";
reverse(str.begin(),str.end());
#include<cstring>
char s[]="hello";
strrev(s);

输出结果均为:

除此之外,string类还有许多比较好用的函数,见https://www.cnblogs.com/Draymonder/p/6944479.html。

2.头文件#include<string>和#include<cstring>的区别。

cstring是C++对C语言中strcpy之类的函数申明,包含cstring后,就可以在程序中使用C语言中strcpy之类的函数。

string是c++中string类模板的申明。有很多对字符串操作的方法。

3.ASCII码值

0-48  A-65  a-97

4.注意for循环中的小bug

for(i=0;i<length;i+3)   此时会无限循环下去,出错!

应改为 for(i=0;i<length;i+=3)

5.int->string类

用到#include<sstream>头文件------字符串流 头文件

#include<sstream>

int i=30;
stringstream ss;
string str;
ss<<i;
ss>>str;
cout<<str<<endl;

输出结果为:

在c++11中提供了to_string()函数,更加简便,(不过好像在蓝桥杯的练习系统中提交时会出现编译错误...)

见https://www.cnblogs.com/flyinggod/p/8117816.html。

6.在输出结果时设置输出数字的长度时,用到 setprecision(n)函数。 其头文件为 #include<iomanip>

c++中默认输出的数字总位数为6位。

对于整数而言,直接用setprecision(n)即可,控制输出数字数为n位(一般用于大数,不想其出现指数形式时)。

对于小数,想要精确输出小数点后几位时。

#include<iostream>
#include<iomanip>
using namespace std;
int main() {
    double i;
    i=3.1234567689;
    cout<<i<<endl;
    cout<<setprecision(9)<<i<<endl;
    cout<<fixed<<setprecision(9)<<i<<endl;
    return 0;
}

输出结果为:

起步备战蓝桥杯,作为纪念记录一下每天的收获~

原文地址:https://www.cnblogs.com/zjybel/p/10473319.html