(2) 输出 for + cout
3、比较函数 cmp+sort(头文件 algorithm)
//按照学生数学从高到低排序
bool cmp(stu x, stu y)
{
return x.math > y.math;
}
4、文件操作
freopen("输入文件名称", "r", stdin);
freopen("输出文件名称", "w", stdout);
函数
1、定义
函数返回类型 函数名(函数参数列表) //函数头部
{
函数体
return 返回值;// 返回类型为void时,不需要
}
2、调用
在主函数中, 函数名(实参);
3、值传递和地址传递
int swap(int a, int b){} // 值传递
int swap(int &a, int &b){} // 地址传递
4、递归
递归出口边界一般是附近)递归表达式(前一项和后一项的关系,有些特殊前项都要考虑)
5、回溯
void f(int step, int num) //准备去执行的步数(没有执行), num 表示约束条件
{
if (step == n + 1) //如果当前步数已经达到 n + 1,前 n 步已经执行完毕
{
if (num == 90)
{
//ans++;output();
}
return;
}
else
{
for (int i = 1; i <= n; i ++ ) //枚举所有的可能
{
//a[step] = i;
f(step + 1, num + i);
}
}
}
ps:只能解决小规模问题 n <= 20
共 2 条回复
哦
好调