项目2:输入4个整数,输出其中的最大值。
要求:程序调试成功后,提交漂亮、规范的博文作为报告(参考上一任务的模板自行改造)
项目2扩展一(选做):输入4个整数,输出其中的最大值和最小值。
项目2扩展二(选做):输入4个整数,按从大到小的顺序输出这4个整数。
(抽出时间将扩展题做一下,在了前面的基础上,只要再多往前再走一点,就会多一分内在的享受。越早有这种体会,感觉会越早出现。这几乎是突破编程障碍的最佳捷径了。在尽快突破的过程中,这一小步是否要走,意义非凡。)
【参考解答】
解答一:分别求出两对数大值后,大值间比较出大值
解答二:逐个比较,得到最大值
解答三:采用交换的思路
解答四:不引入新的变量也可以
解答五:其实,思路还有很多,就不只是解答五了,进一步的学习,我们将追求不仅能做出来,还能够在其中找到“好”的方案云解决。期待你设计出更多样的程序……
【项目2扩展一(选做)提示】
任务要求:输入4个整数,输出其中的最大值和最小值。
思路:可以采用与上面近似的思路完成。其中解答四改变了原有的值,不可取(,但可以改造)。
下面的解答在解答三的基础上进行了扩展,其他方案请同学们自行设计。
【项目2扩展二(选做)提示】
要求:输入4个整数,按从大到小的顺序输出这4个整数。
可以这样来:找出4数中最大的,保存在a中;其余3数中最大的,保存在b中;剩余两个再比较、交换,使c比d大,输出a, b, c, d即可.
自己实现吧。
记住:方案不止这一种。
要求:程序调试成功后,提交漂亮、规范的博文作为报告(参考上一任务的模板自行改造)
项目2扩展一(选做):输入4个整数,输出其中的最大值和最小值。
项目2扩展二(选做):输入4个整数,按从大到小的顺序输出这4个整数。
(抽出时间将扩展题做一下,在了前面的基础上,只要再多往前再走一点,就会多一分内在的享受。越早有这种体会,感觉会越早出现。这几乎是突破编程障碍的最佳捷径了。在尽快突破的过程中,这一小步是否要走,意义非凡。)
【参考解答】
解答一:分别求出两对数大值后,大值间比较出大值
#include <iostream> using namespace std; int main( ) { int a,b,c,d,max1,max2,max; cout<<"请输入四个数值:"; cin>>a>>b>>c>>d; //先求出a和b的大值 if(a>b) max1=a; else max1=b; //再求出c和d的大值 if(c>d) max2=c; else max2=d; //两个大值中的大值为最后的大值 if(max1>max2) max=max1; else max=max2; cout<<"最大值是: "<<max<<"\n"; return 0; }
解答二:逐个比较,得到最大值
#include <iostream> using namespace std; int main( ) { int a,b,c,d,max; cout<<"请输入四个数值:"; cin>>a>>b>>c>>d; max=a; //未进行比较前,暂认为a就是最大的 if(max<b) //如果b更大,当然最最大的就应该被赋值为b max=b; if(max<c) //同理 max=c; if(max<d) //亦然 max=d; cout<<"最大值是: "<<max<<"\n"; return 0; }
解答三:采用交换的思路
#include <iostream> using namespace std; int main( ) { int a,b,c,d,t; cout<<"请输入四个数值:"; cin>>a>>b>>c>>d; //经过下面的比较和可能进行的交换,a将不比b小 if(a<b) { t=a; a=b; b=t; } //经过下面的比较和可能进行的交换,c将不比d小 if(c<d) { t=c; c=d; d=t; } //经过下面的比较和可能进行的交换,a将不比c小,为4个数中的最大值 if(a<c) { t=a; a=c; c=t; } cout<<"最大值是: "<<a<<"\n"; return 0; }
解答四:不引入新的变量也可以
#include <iostream> using namespace std; int main( ) { int a,b,c,d; cout<<"请输入四个数值:"; cin>>a>>b>>c>>d; //经过下面的比较和可能进行的赋值,a将是a和b间的大值 if(a<b) a=b; //经过下面的比较和可能进行的赋值,c将是c和d间的大值 if(c<d) c=d; //经过下面的比较和可能进行的赋值,a将是a和c间的大值,也就是这四个数中的最大值 if(a<c) a=c; cout<<"最大值是: "<<a<<"\n"; return 0; }
解答五:其实,思路还有很多,就不只是解答五了,进一步的学习,我们将追求不仅能做出来,还能够在其中找到“好”的方案云解决。期待你设计出更多样的程序……
【项目2扩展一(选做)提示】
任务要求:输入4个整数,输出其中的最大值和最小值。
思路:可以采用与上面近似的思路完成。其中解答四改变了原有的值,不可取(,但可以改造)。
下面的解答在解答三的基础上进行了扩展,其他方案请同学们自行设计。
#include <iostream> using namespace std; int main( ) { int a,b,c,d,t; cout<<"请输入四个数值:"; cin>>a>>b>>c>>d; //经过下面的比较和可能进行的交换,a将不比b小 if(a<b) { t=a; a=b; b=t; } //经过下面的比较和可能进行的交换,c将不比d小 if(c<d) { t=c; c=d; d=t; } //经过下面的比较和可能进行的赋值,a将不比c小,为4个数中的最大值 if(a<c) { t=a; a=c; c=t; } //在两个小值,即b和d间,经过下面的比较和可能的交换,d将是小者,也是4个数中的小者 if(b<d) { t=b; b=d; d=t; } cout<<"最大值是"<<a<<", 最小值是"<<d<<"\n"; return 0; }
【项目2扩展二(选做)提示】
要求:输入4个整数,按从大到小的顺序输出这4个整数。
可以这样来:找出4数中最大的,保存在a中;其余3数中最大的,保存在b中;剩余两个再比较、交换,使c比d大,输出a, b, c, d即可.
自己实现吧。
记住:方案不止这一种。