C++学习笔记(第一章 C++的基础知识 之二)

习题3:    输入3个整数,输出其中的最大值。

样例输入:123 345 62

样例输出:最大值为:345


#include <iostream>
using namespace std;
int main( )
{
    int a,b,c,max;
    cout<<"请输入3个数值:";
    cin>>a>>b>>c;
    //先求出a和b的大值
    if(a>b)
        max=a;
    else
        max=b;
    //再求出c和max的大值
    if(c>max)
        max=c;
    cout<<"最大值是: "<<max<<endl;
    return 0;
}



习题4:  输入3个整数,输出其中的最大值和最小值。


#include <iostream>
using namespace std;
int main( )
{
    int a,b,c,max,min;
    cout<<"请输入3个数值:";
    cin>>a>>b>>c;
    //先求出a和b的大、小值
    if(a > b)
        max = a, min = b;
    else
        max = b, min = a;
    //再求出c和max的大值,c和min的小值
    if(c > max)
        max = c;
    if (c < min)
        min = c;
    cout<<"最大值是: "<<max<<", 最小值是: "<<min<<endl;
    return 0;
}


习题4:  输入4个整数,输出其中的最大值。


解法1:分别求出两对数大值后,大值间比较出大值

#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<<endl;
	return 0;	
}

解法2:逐个比较,得到最大值

#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<<endl;
	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<<endl;
	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<<endl;
	return 0;	
}


解法5:这道题还有很多种思想,自己可以多琢磨琢磨


习题5:  输入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<<endl;
	return 0;	
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值