#include
using namespace std;
#include
int main() {
int a, b, c;
cout << "请输入三只小猪的体重:";
cin >> a >> b >> c;
cout << "你输入的体重为:\n" << a<<endl << b <<endl<< c << endl;
if (a > b) {
if (b > c) { cout << "a最重\n"; }
else if (c > a) { cout << "c最重\n";
}
}
else if (b > a) {
if (a > c) { cout << "b最重\n"; }
else if (c > b) { cout << "c最重\n";
}
}
else if (a == b) {
if (b == c) { cout << "a,b,c,一样重\n"; }
else if (a > c) { cout << "a和b一样大,c最小\n"; }
else if (c > a) { cout << "c最大\n"; } }
else if (a == c) {
if (a > b) { cout << "a和c一样大,b最小\n"; }
else if(a<b){ cout << "b最大\n"; } }
else if (b == c) {
if (b > a) { cout << "c和b一样重,a最小\n"; }
else if(a>b){ cout << "a最大\n"; } }
system("pause");
return 0;
}
你前三个if else已经囊括了所有条件了,自然后面两个else不可能执行到了
你的逻辑不感觉乱吗,参考如下写法:
if(a > b)
{
if(b>c)
cout << "" << endl;
else if(b==c)
cout << ""<< endl;
else
cout << "" endl;
}else if(a==b)
{
if(b>c)
cout << "" << endl;
else if(b==c)
cout << ""<< endl;
else
cout << "" endl;
}else
{
if(b>c)
cout << "" << endl;
else if(b==c)
cout << ""<< endl;
else
cout << "" endl;
}
逻辑问题,比如a=c>b;只执行第一个if语句,后面都不执行了