第20课 孔融让梨--求3个整数中最小值
第20课 孔融让梨--求3个整数中最小值
例程:
试编一个程序,输入三个整数,表示梨的重量,输出最小的数。
编程思路1:
经过三次两两比较,得出最小值。
a<=b && a<=c min=a
b<=c && b<=a min=b
c<=b && c<=a min=c
流程图如下:
代码如下:
1 /* 2 例程: 3 试编一个程序,输入三个整数,表示梨的重量,输出最小的数。 4 */ 5 6 #include <typeinfo> //变量类型头文件,还是有问题;无法判断int 7 #include <iostream> //包含输入输出流头文件iostream 8 using namespace std; //指明程序 使用命名空间std(标准) 9 int main() 10 { 11 int a,b,c,min; 12 cout<<"a b c="; 13 cin>>a>>b>>c; 14 if(a<=b && a<=c) min=a; 15 if(b<=a && b<=c) min=b; 16 if(c<=b && c<=a) min=c; 17 cout<<"min="<<min<<endl; 18 return 0; 19 }
编程思路2:
先找出a和b中较小的那个数,把较小的数赋值给min,然后再让min和c比较,找出最小值。
流程图如下:
代码如下:
1 /* 2 例程: 3 试编一个程序,输入三个整数,表示梨的重量,输出最小的数。 4 */ 5 6 #include <typeinfo> //变量类型头文件,还是有问题;无法判断int 7 #include <iostream> //包含输入输出流头文件iostream 8 using namespace std; //指明程序 使用命名空间std(标准) 9 int main() 10 { 11 int a,b,c,min; 12 cout<<"a b c="; 13 cin>>a>>b>>c; 14 if(a<=b) 15 min=a; 16 else 17 min=b; 18 if (c<min) min=c; 19 cout<<"min="<<min<<endl; 20 return 0; 21 }
编程思路3:
先假设第一个数a为最小值,把它赋值给min;然后和第二个数b比较,若b比min小,就把第二数b赋值给min;再和第三个数c比较,若第三个数c比min小,就把三数c赋值给min,有点儿类似打擂台。
流程图如下:
代码如下:
1 /* 2 例程: 3 试编一个程序,输入三个整数,表示梨的重量,输出最小的数。 4 */ 5 6 #include <typeinfo> //变量类型头文件,还是有问题;无法判断int 7 #include <iostream> //包含输入输出流头文件iostream 8 using namespace std; //指明程序 使用命名空间std(标准) 9 int main() 10 { 11 int a,b,c,min; 12 cout<<"a b c="; 13 cin>>a>>b>>c; 14 min=a; 15 if (b<min) min=b; 16 if (c<min) min=c; 17 cout<<"min="<<min<<endl; 18 return 0; 19 }
注:
通俗地讲,程序算法就是为解决某一特定问题而采取的具体有限的操作步骤。
动动脑:
2、阅读程序写结果。
1 /* 2 2、阅读程序写结果。 3 */ 4 5 #include <iostream> //包含输入输出流头文件iostream 6 using namespace std; //指明程序 使用命名空间std(标准) 7 int main() 8 { 9 int a,b,c,max; 10 cin>>a>>b>>c; 11 if (a>b) 12 max=a; 13 else 14 max=b; 15 if (c>max) max=c; 16 cout<<"max="<<max<<endl; 17 return 0; 18 }
3、完善程序。
输入4个数,输出其中最大的数。
1 /* 2 3、完善程序。 3 输入4个数,输出其中最大的数。 4 */ 5 6 #include <iostream> //包含输入输出流头文件iostream 7 using namespace std; //指明程序 使用命名空间std(标准) 8 int main() 9 { 10 float a,b,c,d,max; //浮点数 11 cout<<"a,b,c,d="; 12 cin>>a>>b>>c>>d; 13 max=a; 14 if (b>max) max=b; 15 if (c>max) max=c; 16 if (d>max) max=d; 17 cout<<"max="<<max<<endl; 18 return 0; 19 }
小学生C++