//一、 程序的基本框架
/*
1. 头文件 #include <iostream>
iostream : cin、cout
cstdio : printf
cmath : 乘方:pow(a,b);
开根:sqrt(q);
绝对值: abs(a);
向上取整:ceil(a);
最大值/最小值: max(a,b); min(a,b);
string : 输入带有空格的字符串:getline(cin,s);
计算长度: s.length(); s.size();
寻找子串: s1.find(s2);
algorithm: sort(开始地址, 结束地址+1, cmp);
bits/stdc++.h : 万能头
2. 命名空间
3. 主函数
*/
//二、变量类型
/*
1. 整型: int 、 long long
2. 浮点型: float 、 double
3. 字符类型: char
4. 字符串类型: string
5. 自定义结构体类型: struct 结构体类型名{};
*/
//三、输入和输出
/*
1. 变量的定义: 变量类型 + 变量名; (变量的命名规则)
2. 输入: cin >> 变量名;
3. 输出: cout 、 printf
3.1 格式化输出
double b = 3.1415926;
保留小数: printf("%.2f", b);
3.2 右对齐
printf("%6d", 123); ___123
printf("%06d", 123); 000123
4. 转义字符
*/
//四、 条件分支语句
/*
1. 单分支语句
if(条件表达式){
语句1;
}
//2. 双分支语句
if(条件表达式){
语句1;
}else{
语句2;
}
//2.1 三目运算符
条件表达式? 语句1:语句2;
//3. 多分支语句
//4. switch语句
*/
//五、 数组
/*
1. 一维数组
int a[105], n;
cin >> n;
for(int i = 0; i < n; i++){
cin >> a[i];
}
对数组数据进行处理 a[i]
2. 二维数组
*/
//六、循环
/*
1. for循环
for(初始值; 循环条件; 变化量){
循环体;
}
2. while循环
初始值;
while(循环条件){
循环体;
变化量;
}
//3. do-while:至少执行一次
*/
//七、函数
/*
1. 函数的声明; (设计图,当定义在调用前,可省略)
2. 函数的定义; (制作-函数类型、形参1.2.3、函数体)
3. 函数的调用; (使用函数-类型一致、参数个数一致)
4. 形参和实参: 形式参数和实际参数
5. 全局变量和局部变量: 局部变量在{}内; 如果同时有,就近原则
*/
//八、 排序
/*
1. 冒泡排序: 两两比较, 根据要求判断是否交换
2. 选择排序: 1.找出最大的和第一个交换; 2. 找出第二大的和第二个交换 ...
3. 插入排序: 5 4 2 1 3, 打牌、着急程度
4. 桶排序: 1-5分别喊老师帅的不同话语,怎么选择并统计数量
5. sort: sort(开始地址, 结束地址+1, cmp);
*/
//九、 结构体
/*
1. 定义结构体
struct 结构体类型名{
类型1 变量1, 变量2;
类型2 变量3;
......
}a[1005], b; //定义结构体数组a, 变量b
2. 结构体排序
*/