C++小练习
1.练习
计算器---加减乘除
-
函数调用
c//简单的计算器 #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表达式
c//简单的计算器 #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输入完成之后,否则捕获的值是之前定义好的值
c//简单的计算器 #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; }
数组找最大值
c
#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;
}