【例3.2】从键盘上输入三个整数,输出其中的最大数。 分析:读入三个数,先求出两个数中较大者,再将该大数与 第三个数比较,求出最大数。 include <iostream . h> class ThreeNumber t private int a, b, c public: void Input3Integers o; void GetMaxo int maino threeNumber ai a.Input3Integerso; k a. GetMaxor return O: }
ok 分析:读入三个数,先求出两个数中较大者,再将该大数与 第三个数比较,求出最大数。 #include <iostream.h> class ThreeNumber { private: int a, b, c; public: void Input3Integers(); void GetMax(); }; int main() { ThreeNumber a; a.Input3Integers(); a.GetMax(); return 0; } 【例3.2】 从键盘上输入三个整数,输出其中的最大数
void ThreeNumber:: Input3Integers( cout < Input 3 Integers: \n";\ cin >> a>>b>>c int ThreeNumber :: GetMax o int max; if(a >b) if(a> c) max else max =Ci else if(b > c max = b else max cout < WThe Max Integers is < max < endl; t yo
ok void ThreeNumber::Input3Integers() { cout << “Input 3 Integers:\n”;\ cin >> a >> b >> c; } int ThreeNumber::GetMax() { int max; if(a > b) if(a > c) max = a; else max = c; else if(b > c) max = b; else max = c; cout << “The Max Integers is :” << max << endl; }
主£语句中,如果内嵌语句又是立语句,就构 成了嵌套让f语句。主语句可实现二选一分支,而 嵌套i语句则可以实现多选一的多路分支情况。 嵌套有两种形式,第一种是嵌套在ese分支中: if(<表达式1>)<语句1> else if(<表达式2>)语句2; else if e1se<语句n>; 第二种是嵌套在主f分支中为: 1f(<表达式1>)if(<表达式2>)<语句1>; e1se<语句2 k 我们可以见上面的 GetMax()函数
ok if 语句中,如果内嵌语句又是if语句,就构 成了嵌套if语句。if 语句可实现二选一分支,而 嵌套if语句则可以实现多选一的多路分支情况。 嵌套有两种形式,第一种是嵌套在else分支中: if (<表达式1>) <语句1>; else if (<表达式2>) 语句2; else if … else <语句n>; 第二种是嵌套在if分支中为: if (<表达式1>) if (<表达式2>) <语句1>; else <语句2>; 我们可以见上面的 GetMax()函数
要特别注意e1se和i£的配对关系。C++规定了 i£和e1se的“就近配对”原则,即相距最近且还 没有配对的一对主£和e1se首先配对。按上述规定, 第二种嵌套形式中的e1se应与第二个主配对。如 果根据程序的逻辑需要改变配对关系,则要将属于 同一层的语句放在一对“〔}"中。如第二种嵌套形 式中,要让e1se和第一个i£配对,语句必须写成: if(表达式1) if(表达式2)语句1; e1se语句2; 第二种嵌套形式较容易产生逻辑错误,而第 种形式配对关系则非常明确,因此从程序可读性 角度出发,建议尽量使用第一种嵌套形式
ok 要特别注意else和if的配对关系。C++规定了 if和else的“就近配对”原则,即相距最近且还 没有配对的一对if和else首先配对。按上述规定, 第二种嵌套形式中的else应与第二个if配对。如 果根据程序的逻辑需要改变配对关系,则要将属于 同一层的语句放在一对“{}”中。如第二种嵌套形 式中,要让else和第一个if配对,语句必须写成: if (表达式1) { if (表达式2) 语句1 ; } else 语句2 ; 第二种嵌套形式较容易产生逻辑错误,而第 一种形式配对关系则非常明确,因此从程序可读性 角度出发,建议尽量使用第一种嵌套形式
请看以下两个语句://语句1: i£(n为3==0) if(n号5==0) eout<<n<<是15的倍数”<<endl; e⊥se cout<<n<<是3的倍数但不是5的倍数 <<endl //语句2 if(n号3==0) if(n号5==0) eout<<n<<是15的倍数 l<<endl i e1 se cout<<n<<不是3的倍数" 两个语句的差别只在于一个“”,但表达的逻辑关系却完 k 全不同
ok 请看以下两个语句://语句1: if(n%3==0) if(n%5==0) cout<<n<<“是15的倍数”<<endl; else cout<<n<<“是3的倍数但不是5的倍数″ <<endl; //语句2: if(n%3==0){ if(n%5==0) cout<<n<<“是15的倍数″<<endl; } else cout<<n<<“不是3的倍数″ 两个语句的差别只在于一个“{}”,但表达的逻辑关系却完 全不同