实例:有三只小猪ABC,请分别输入三只小猪的体重,并且判断哪只小猪最重?
1.条件if嵌套法
#include<iostream>
using namespace std;
int main()
{
//创建三只小猪的体重变量
int a = 0;
int b = 0;
int c = 0;
//输入三只小猪的重量
cout << "请输入小猪A的体重:" ;
cin >> a;
cout << "请输入小猪B的体重:" ;
cin >> num2;
cout << "请输入小猪C的体重:" ;
cin >> num3;
cout << "小猪A的体重为:" << a << endl;
cout << "小猪B的体重为:" << b << endl;
cout << "小猪C的体重为:" << b << endl;
//判断哪只小猪最重
if (a > b)
{
if (a > c)
{
cout << "小猪A重" << endl;
}
else
{
cout << "小猪C重" << endl;
}
}
else
{
if (b > c)
{
cout << "小猪B重" << endl;
}
else
{
cout << "小猪C重" << endl;
}
}
system("pause");
return 0;
}
}
2.三目运算符
语法:表达式1 ? 表达式2 :表达式3
解释:
如果表达式1的值为真,执行表达式2,并返回表达式2的结果;
如果表达式1的值为假,执行表达式3,并返回表达式3的结果。
#include<iostream>
using namespace std;
int main()
{
//先创建三只小猪的体重变量
int a = 0;
int b = 0;
int c = 0;
//输入三只小猪的重量
cout << "请输入小猪A的体重:" ;
cin >> a;
cout << "请输入小猪B的体重:" ;
cin >> b;
cout << "请输入小猪C的体重:" ;
cin >> c;
cout << "小猪A的体重为:" << a << endl;
cout << "小猪B的体重为:" << b << endl;
cout << "小猪C的体重为:" << c << endl;
//判断哪只小猪最重
int z=a>b?(a>c?a:c):(b>c?b:c);
if (z==a)
{
cout << "小猪A重" <<z<< endl;
}
else if (z==b)
{
cout << "小猪B重" <<z<< endl;
}
else
{
cout << "小猪C重" <<z<< endl;
}
system("pause");
return 0;
}
总结:和if语句比较,三目运算符优点是短小整洁,缺点是如果用嵌套,结构不清晰