好的宠物网站模板,广州网站设计素材,网站开发公司的销售方式,自己做的网站怎么传到服务器目录 1.如何用 getline 函数读取用户输入的一行
2.如何防止用 scanf 读取字符时读取了 换行和空格
3.map和unordered_map的差别和使用
4.“表达式求值”问题解析
5.运行报RE错误
6.在set或者map里面使用结构体
7.运行时报TLE时#xff0c;时间复杂度问题
8.double类型的…目录 1.如何用 getline 函数读取用户输入的一行
2.如何防止用 scanf 读取字符时读取了 换行和空格
3.map和unordered_map的差别和使用
4.“表达式求值”问题解析
5.运行报RE错误
6.在set或者map里面使用结构体
7.运行时报TLE时时间复杂度问题
8.double类型的输入和输出 1.如何用 getline 函数读取用户输入的一行
代码源于蓝桥杯演示文档
#include string
#include iostream
#include sstreamint main()
{// 问候用户std::string name;std::cout What is your name? ;std::getline(std::cin, name);std::cout Hello name , nice to meet you.\n;// 逐行读文件std::istringstream input;input.str(1\n2\n3\n4\n5\n6\n7\n);int sum 0;for (std::string line; std::getline(input, line); ) {sum std::stoi(line);}std::cout \nThe sum is: sum \n;
}
输出
What is your name? John Q. Public
Hello John Q. Public, nice to meet you.The sum is 28
2.如何防止用 scanf 读取字符时读取了 换行和空格
常见错误 解决方案scanf( %c,c);在%前加空格
解决后 3.map和unordered_map的差别和使用
map和unordered_map的差别和使用_map和unorderedmap的区别-CSDN博客
4.“表达式求值”问题解析
AcWing 3302. 表达式求值多图讲解运算符优先级详细代码注释 - AcWing
5.运行报RE错误
可能存在的问题 1.在函数里面的数组开太大原因数组定义在函数里面会直接在堆栈里面申请空间。故大数组务必放在函数外面作为全部变量。 2.出现了除0检查除法有没有可能会导致除0的地方。 3.堆栈溢出即1或者递归调用次数过多 4.在scanf(%d,a);给a赋值的时候没有加 5.数组开的小导致数组下标越界 6.在set或者map里面使用结构体
当我们需要在set和map里面使用结构体的时候需要对运算符进行重载
下面给出例子
在结构体外进行运算符重载
struct Person {std::string name;int age;
};bool operator(const Person p1, const Person p2) {return p1.age p2.age;
}bool: 这是函数的返回类型表示返回一个布尔值。
operator: 这是 运算符的函数形式表示重载了小于运算符。
(const Person p1, const Person p2): 这是函数的参数它们是常量引用类型的 Person 对象用于比较两个 Person 对象的年龄。
{}: 这是函数体的起始和结束符号表示函数体内的代码块。
或者也可以采用在结构体内进行运算符重载
struct Person {std::string name;int age;bool operator (const Person p)const{return agep.age;}
};bool: 这是函数的返回类型表示返回一个布尔值。
operator : 这是 运算符的函数形式表示重载了小于运算符。
(const Person p): 这是函数的参数它是一个常量引用类型的 Person 对象表示要与当前对象进行比较的对象。
const: 这是成员函数的修饰符表示该函数不会修改当前对象的成员变量。
{}: 这是函数体的起始和结束符号表示函数体内的代码块。
详细关于运算符重载运算符重载在c中使用set、map存储结构体-CSDN博客
7.运行时报TLE时时间复杂度问题
写的算法的时间复杂度小于或者等于10^8我们都认为该算法能够在1s之内故运行时报TLE时需检查自己写的算法耗费时间最大的地方的时间复杂度能否优化改写你的算法
8.double类型的输入和输出
scanf 输入double类型时必须使用%lf
printf 输出double类型时使用%lf和%f都可以但根据C语言标准应该使用%f“格式符来输出double类型的值故推荐大家输出double类型时使用%f