第1关:带默认参数的函数定义
任务描述
本关任务:带默认参数的函数使用。
相关知识
为了完成本关任务,你需要掌握:1.如何定义一个带有默认参数的函数,2.如何调用默认参数函数。
定义一个默认参数函数
函数带有默认参数,调用的时候可以省略不同的参数。
#include <iostream>
using namespace std;
// 定义sum函数,带有默认参数
float sum(float a, float b = 10.0, float c = 10.0) {
return a + b + c;
}
int main(int argc, char *argv[]) {
float a,b,c;
cin>>a>>b>>c;
// 调用sum函数,可以省略不同的参数
cout << sum(a) << "," << sum(a, b) << "," << sum(a, b, c) << endl;
return 0;
}
第2关:引用的使用
任务描述
本关任务:利用实现两个数的值的交换。
相关知识
为了完成本关任务,你需要掌握:1.引用的基本使用方法,2.变量值的交换。
变量值交换
实现两个变量值的交换。
#include<iostream>
using namespace std;
// 定义一个swap函数,用于交换两个浮点数的值
void swap(float& x, float& y) {
float temp = x;
x = y;
y = temp;
}
int main() {
float a, b;
cin >> a >> b;
swap(a, b);
cout << a <<","<< b << endl;
return 0;
}
第3关:模板函数的创建及使用
任务描述
本关任务:书写一个排序函数,输入任意类型的一组数,将其作为摸排表函数的参数输入,调用书写的排序模板函数,对数据排序,然后输出。
相关知识
为了完成本关任务,你需要掌握:1.模板函数的创建,2.模板函数的使用。3.数组的排序
模板函数的创建,
template
T sort(p[],int n);//n为数据个数
#include <iostream>
#include <algorithm> // 如果我们打算使用std::sort
// 模板排序函数(这里我们直接使用std::sort)
template <typename T>
void sortArray(T arr[], int n) {
std::sort(arr, arr + n);
}
// 辅助函数,用于输出数组,元素之间用逗号分隔
template <typename T>
void printArray(T arr[], int n) {
for (int i = 0; i < n; ++i) {
std::cout << arr[i];
if (i < n - 1) {
std::cout << ",";
}
}
std::cout << ",";
std::cout << std::endl;
}
int main() {
int n;
std::cin >> n; // 读取数组大小
// 假设x和y数组足够大,或者动态分配它们
double x[100], y[100];
// 读取x数组的元素
for (int i = 0; i < n; i++) {
std::cin >> x[i];
}
// 读取y数组的元素
for (int i = 0; i < n; i++) {
std::cin >> y[i];
}
// 调用模板函数进行排序
sortArray(x, n);
sortArray(y, n);
// 输出排序后的数组
printArray(x, n);
printArray(y, n);
return 0;
}