要求:一共有9个大小形状一模一样的球,其中8个球的质量一样,有一个球的质量偏重,现有一个天平,但是只能够秤2次,找出9个球中偏重的球,编写程序。
C++程序代码如下:
#include<iostream>
using namespace std;
int main()
{
cout<<"9个球中找出质量较轻的一个"<<endl;
cout<<"输入9个球的质量,要求是其中8个球的质量要相同,有任意一个球的质量偏重"<<endl<<endl;
int nBall[8];
for(int count=0;count<8;count++)
{
cout<<"请输入第"<<count+1<<"个球的质量:";
cin>>nBall[count];
}
if(nBall[0]+nBall[1]+nBall[2]>nBall[3]+nBall[4]+nBall[5])
{
if(nBall[0]>nBall[1])
{
cout<<0+1<<endl;
}
else if(nBall[0]==nBall[1])
{
cout<<2+1<<endl;
}
else
{
cout<<1+1<<endl;
}
}
else if(nBall[0]+nBall[1]+nBall[2]==nBall[3]+nBall[4]+nBall[5])
{
if(nBall[6]>nBall[7])
{
cout<<6+1<<endl;
}
else if(nBall[6]==nBall[7])
{
cout<<8+1<<endl;
}
else
{
cout<<7+1<<endl;
}
}
else
{
if(nBall[3]>nBall[4])
{
cout<<3+1<<endl;
}
else if(nBall[3]==nBall[4])
{
cout<<5+1<<endl;
}
else
{
cout<<4+1<<endl;
}
}
system("pause");
return 0;
}
运行结果如下:
注:正常人的思维计数是从1开始的,所以在输出结果时都加了1;
程序没有进行优化,感兴趣的可以优化优化