一、观看视频
【01】求最大值最小值【02】拆位求最值
【03】中间体重
二、研读学生讲义
【学生讲义】【01】求最大值最小值【学生讲义】【02】拆位求最值
【学生讲义】【03】中间体重
三、练习题(不清楚回头查看有关视频或讲义)
【01】求三个整数的最大最小值。下面的代码哪个是多分支法,哪个是打雷法?
①
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
#include<iostream>using namespace std;int main(){ int a, b, c; cin >> a >> b >> c; int maxn = a; int minn = a; if( maxn < b){ maxn = b; } if( maxn < c){ maxn = c; } if( minn > b){ minn = b; } if( minn > c){ minn = c; } cout << maxn << " " << minn << endl; return 0;}
②
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
#include<iostream>using namespace std;int main(){ int a, b, c, maxn, minn; cin >> a >> b >> c; if( a > b && a > c){ maxn = a; }else if( b > c){ maxn = b; }else{ maxn = c; } if( a < b && a < c)minn = a; else if( b < c){ minn = b; }else{ minn = c; } cout << maxn << " " << minn << endl; return 0;}
【02】输入每位数字都不相同的三位正整数,找出数位上最大的数字。下面哪个代码是多分支法,哪个是打雷法?
①
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
#include<iostream>using namespace std;int main(){ int n; cin >> n; int n1 = n / 100; int n2 = n / 10 % 10; int n3 = n % 10; if( n1 > n2 && n1 > n3){ cout << n1 << endl; }else if( n2 > n3){ cout << n2 << endl; }else{ cout << n3 << endl; } return 0;}
②
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
#include<iostream>using namespace std;int main(){ int n; cin >> n; int n1 = n / 100; int n2 = n / 10 % 10; int n3 = n % 10; int maxn = n1; if( maxn < n2){ maxn = n2; } if( maxn < n3){ maxn = n3; } cout << maxn << endl; return 0;}
【03】找出三个实数的中间值。下面代码正确的是(可多选):
①
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
#include<iostream>using namespace std;int main(){ double w1, w2, w3; cin >> w1 >> w2 >> w3; double minn = w1; if( minn > w2){ minn = w2; } if( minn > w3){ minn = w3; } double maxn = w1; if( maxn < w2){ maxn = w2; } if( maxn < w3){ maxn = w3; } double middle = w1 + w2 + w3 - minn - maxn; cout << middle << endl; return 0;}
②
·
·
·
·
·
·
·
·
·
·
·
#include<iostream>using namespace std;int main(){ double w1, w2, w3; cin >> w1 >> w2 >> w3; if(w1 > w2 && w1 < w3)cout << w1 << endl; else if(w2 < w3)cout << w2 << endl; else cout << w3 << endl; return 0;}
③
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
#include<iostream>using namespace std;int main(){ double w1, w2, w3, middle; cin >> w1 >> w2 >> w3; if(w1 > w2 && w1 < w3){ middle = w1; }else if(w2 < w3){ middle = w2; }else{ middle = w3; } cout << middle << endl; return 0;}
【04】OpenJudge练习
【OpenJudge-1.4-15】最大数输出
【OpenJudge-1.4-17】判断闰年