《C语言自学视频教程?图书的问题第11章确实面试真题的答案
发表在C语言图书答疑 2015-03-29
是否精华
版块置顶:
题目是:现有12只外表、颜色、大小均相同的小球,这12只球中有一个是坏球,但不知道这个坏球是轻还是重,给出一天平,要求在3次称重称出坏球,并知道其是轻还是重,编程实现上述过程。
分享到:
精彩评论 2
爱学习
学分:0 LV1
TA的每日心情
开心
2020-03-23 20:54:03
2015-03-30
沙发
思想;
分三组,每组四个,A、B、C,先称A、B,一、若平,则次球在C中,    取C中三个球C1、C2、C3与三个好球(A、B中任意三个球)称,    (一)若平,则次球为C4,将之与A、B中任意一球称,即可知其轻重;    (二)若不平,则次球在C1、C2、C3中,且已知其轻重,则取C1、C2称,        1、若平,则次球为C3,已知轻重,        2、若不平,则由轻重可得知次球。二、若不平,则次球在A、B中,    将A1、A2、A3、B1与三个好球(即C中的球C1、C2、C3)、A4称    (一)若平,则次球在B2、B3、B4中,且已知其轻重,则取B2、B3称,        1、若平,则次球为B4,已知轻重,        2、若不平,则由轻重可得知次球;    (二)若不平,则次球在A1、A2、A3、A4、B1中,假设A比B重,        1、若A1、A2、A3、B1比C1、C2、C3、A4重,则次球在A1、A2、A3中,           取A1与A2称,           (1)若平,则A3为次球,已知轻重,           (2)若不平,则由轻重可知次球,        2、若A1、A2、A3、B1比C1、C2、C3、A4轻,则次球为B1或A4,           取A4与好球称,           (1)若平,则B1为次球,已知轻重,           (2)若不平,则A4为次球,已知轻重。
爱学习
学分:0 LV1
TA的每日心情
开心
2020-03-23 20:54:03
2015-03-30
板凳
c++代码实现
#include<iostream>
using namespace std;

int main()
{
int a[4],b[4],c[4];
int i;
int A,B,C;
for(i=0;i<4;i++)
{
cin>>a[i]>>b[i]>>c[i];  //输入 

}

A=a[0]+a[1]+a[2]+a[3];
B=b[0]+b[1]+b[2]+b[3];

if(A==B) //坏球在C中
{
if(c[0]+c[1]+c[2]==a[0]+a[1]+a[2])  //坏球是c [3]
{
cout<<"坏球是"<<c[3]<<endl;
if(c[3]>a[0])
cout<<"较重"<<endl;   //输出
else
cout<<"较轻"<<endl;

}
else  //坏求在c[0],c[1],c[2]中
{
if(c[0]==c[1]) //坏求是c[2]
{
cout<<"坏球是:"<<c[2]<<endl;
if(c[2]>a[0])
cout<<"较重"<<endl;
else
cout<<"较轻"<<endl;

}
else if(c[0]>c[1])
{
if(c[0]>a[0])
cout<<"坏球是:"<<c[0]<<"  较

重"<<endl;
else 
cout<<"坏球是:"<<c[1]

<<"  较轻"<<endl;


}
else
{
if(c[1]>a[0])
cout<<"坏球是:"<<c[0]<<"  较

重"<<endl;
else 
cout<<"坏球是:"<<c[0]

<<"  较轻"<<endl;

}


}


}//  end if
else //坏求在A,B中
{
if(A>B)
{
if(a[0]+a[1]+a[2]+b[0]==a[3]+c[0]+c[1]+c

[2])//b1,b2,b3中有坏球
{
if(b[1]==b[2])
cout<<"坏球"<<b[3]<<" 较

轻"<<endl;
else
{
if(b[1]>b[2])
cout<<"坏球"<<b[2]<<" 较

轻"<<endl;
else
cout<<"坏球"<<b[1]<<" 较

轻"<<endl;


}

} // end if
else //a0,a1,a2,a3,b0中有坏球
{
if(a[0]+a[1]+a[2]+b[0]>a[3]+c[0]+c[1]+c

[2]) //a[0],a1,a2
{
if(a[0]==a[1])
cout<<"坏球"<<a[2]<<" 较

重"<<endl;
else
{
if(a[0]>a[1])
cout<<"坏球"<<a[0]<<" 较

重"<<endl;
else
cout<<"坏球"<<a[1]<<" 较

重"<<endl;
}



}
else//a[0]+a[1]+a[2]+b[0]<a[3]+c[0]+c

[1]+c[2]
{
if(b[0]<c[0])
cout<<"坏球"<<b

[0]<<" 较轻"<<endl;
else

cout<<"坏球"<<a[3]<<" 较

重"<<endl;

}





}



}
else  //A<B
{
if(a[0]+a[1]+a[2]+b[0]==a[3]+c[0]+c

[1]+c[2])//b1,b2,b3中有坏球
{
if(b[1]==b[2])
cout<<"坏球"<<b[3]<<" 较

重"<<endl;
else
{
if(b[1]<b[2])
cout<<"坏球"<<b[2]<<" 较

重"<<endl;
else
cout<<"坏球"<<b[1]<<" 较

重"<<endl;


}

} // end if
else //a0,a1,a2,a3,b0
{
if(a[0]+a[1]+a[2]+b[0]<a[3]+c[0]+c[1]+c

[2]) //a[0],a1,a2
{
if(a[0]==a[1])
cout<<"坏球"<<a[2]<<" 较

轻"<<endl;
else
{
if(a[0]<a[1])
cout<<"坏球"<<a[0]<<" 较

轻"<<endl;
else
cout<<"坏球"<<a[1]<<" 较

轻"<<endl;
}



}
else//a[0]+a[1]+a[2]+b[0]<a[3]+c[0]+c

[1]+c[2]
{
if(b[0]>c[0])
cout<<"坏球"<<b

[0]<<" 较重"<<endl;
else

cout<<"坏球"<<a[3]<<" 较

轻"<<endl;

}





}





}



}// end  else



return 0;
}
如果想用c语言,将头文件和输入输出改一下,就可以了,可以成功运行
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照