8.C++小练习
C++小练习
- 1.练习
1.练习
计算器—加减乘除
-
函数调用
//简单的计算器 #include <iostream>using namespace std;//封装函数 int add(int a,int b){return a + b; }int jian(int a, int b){return a - b; }int cheng(int a,int b){return a * b; }double chu(int a,int b){return (double)a / b; }int main() {while(1){//1.定义两个数int a;int b;//2.定义加减乘除char fuhao;//3.提示cout << "请输入两个数" << endl;cin >> a;cin >> b;cin >> fuhao;//4.定义switch函数进行计算//5.输出最后的结果switch (fuhao){case '+':cout << add(a,b) << endl;break;case '-':cout << jian(a,b) << endl;break;case '*':cout << cheng(a,b) << endl;break;case '/':cout << chu(a,b) << endl;break;default:cout << "error" << endl;}}return 0; }
-
lambda表达式
//简单的计算器 #include <iostream>using namespace std;auto add = [](int a,int b)->int{return a + b;}; auto jian = [](int a,int b)->int{return a - b;}; auto cheng = [](int a,int b)->int{return a * b;}; auto chu = [](int a,int b)->double{return (double)a / b;};int main() {while(1){//1.定义两个数int a;int b;//2.定义加减乘除char fuhao;//3.提示cout << "请输入两个数" << endl;cin >> a;cin >> b;cin >> fuhao;//4.定义switch函数进行计算//5.输出最后的结果switch (fuhao){case '+':cout << add(a,b) << endl;break;case '-':cout << jian(a,b) << endl;break;case '*':cout << cheng(a,b) << endl;break;case '/':cout << chu(a,b) << endl;break;default:cout << "error" << endl;}}return 0; }
-
使用参数捕获要注意的问题
lambda表达式放在a、b输入完成之后,否则捕获的值是之前定义好的值
//简单的计算器 #include <iostream>using namespace std;auto add = [](int a,int b)->int{return a + b;};auto cheng = [](int a,int b)->int{return a * b;}; auto chu = [](int a,int b)->double{return (double)a / b;};int main() {while(1){//1.定义两个数int a;int b;//2.定义加减乘除char fuhao;//3.提示cout << "请输入两个数" << endl;cin >> a;cin >> b;//如果要用参数捕获的方式//lambda表达式放在a、b输入完成之后//否则捕获的值是之前定义好的值auto jian = [a,b]()->int{return a - b;};cin >> fuhao;//4.定义switch函数进行计算//5.输出最后的结果switch (fuhao){case '+':cout << add(a,b) << endl;break;//改成jian()case '-':cout << jian() << endl;break;case '*':cout << cheng(a,b) << endl;break;case '/':cout << chu(a,b) << endl;break;default:cout << "error" << endl;}}return 0; }
数组找最大值
#include <iostream>using namespace std;//输入5个数字
void ArryInit(int *array,int len){for(int i=0;i<len;i++){cin >> array[i];}
}//获取最大的数
int GetMax(int *array,int len){int MaxTemp = array[0];for(int i=0;i<len;i++){if(MaxTemp < array[i]){MaxTemp = array[i];}}return MaxTemp;
}//输出结果
void PrintfInit(int *array,int len){for(int i=0;i<len;i++){cout << array[i] << endl;}
}int main()
{int array[5];int len = sizeof(array)/sizeof(array[0]);cout << "请输入5个数字" << endl;ArryInit(array,len);GetMax(array,len);cout << "所有的数字:" << endl;PrintfInit(array,len);cout << "最大的数是:" << GetMax(array,len);return 0;
}