C++7週目タスク2-4の最大数

4043 ワード

項目2:4個の整数を入力し、その最大値を出力します.
要求:プログラムのデバッグに成功した後、きれいで規範的な博文を報告として提出する(前の任務のテンプレートを参考に自分で改造する)
項目2拡張1(オプション):4つの整数を入力し、最大値と最小値を出力します.
項目2拡張2(オプション):4つの整数を入力し、この4つの整数を大きい順に出力します.
△時間を割いて拡張問題をやってみると、前のことを踏まえて、もう少し前に行けば行くほど、もっと楽しめるようになります.このような体験が早ければ早いほど、早く出てくるような気がします.これはプログラミングの障害を突破する最善の近道です.できるだけ早く突破する過程で、この小さなステップが行くかどうか、意味があります.
【参考解答】
解答1:それぞれ2対数の大きい値を求めた後に、大きい値の間は比較して大きい値を出します
#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<<"
"; return 0; }

回答2:1つずつ比較して、最大値を得る
#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<<"
"; return 0; }

解答の3:交換の構想を採用します
#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<<"
"; return 0; }

解答4:新しい変数を導入しなくてもよい
#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<<"
"; return 0; }

実は、考え方はまだたくさんあって、5を解答するだけではなくて、更なる学习、私达は追求して作ることができるだけではなくて、その中で“良い”の方案の云の解决を探し当てることができます.もっと多様なプログラムを設計してくれることを期待していますが...
【項目2拡張一(選択)ヒント】
タスク要件:4つの整数を入力し、最大値と最小値を出力します.
考え方:上記に近い考え方で完成できます.その中で解答4は元の値を変えて、取ることができません(,しかし改造することができます).
次の解答は解答3の基礎の上で拡張して、その他の方案は学生たちに自分で設計してもらいます.
#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<<"
"; return 0; }

【項目2拡張二(選択)提示】
要求:4個の整数を入力し、この4個の整数を大きい順に出力します.
このようにすることができます:4数の中で最大のを探し出して、aの中で保存します;残りの3数の中で最大で、bに保存されます.残りの2つを更に比較、交換する、cをdより大きくし、a,b,c,dを出力すればよい.
自分で叶えましょう.
覚えておいてください.案はこれだけではありません.