优秀html5网站,网络公司取名字参考大全最新,百度收录提交工具,制作公众号的软件目录 1题干#xff1a;
2解题思路#xff1a;
3代码:
4运行结果:
5总结: 1题干#xff1a; 5位运动员参加了10米台跳水比赛#xff0c;有人让他们预测比赛结果 A选手说#xff1a;B第二#xff0c;我第三#xff1b; B选手说#xff1a;我第二#xff0c;E第四
2解题思路
3代码:
4运行结果:
5总结: 1题干 5位运动员参加了10米台跳水比赛有人让他们预测比赛结果 A选手说B第二我第三 B选手说我第二E第四 C选手说我第一D第二 D选手说C最后我第三 E选手说我第四A第一 比赛结束后每位选手都说对了一半请编程确定比赛的名次。
2解题思路
首先我们不知道名次问题这时候我们就可以利用循环来做题也就是利用穷举法来一个一个的尝试把所有结果都尝试一遍就能找到满足题干条件的答案.
这个题我们可以对A,B,C,D,D都进行循环穷举,e的话可以用总名次(第一名第二名第三名第四名第五名等于15)去减去A,B,C,D的名次就可以知道E的名次,这个可以大大减少循环量.废话不多说,直接展示代码及其运行的结果.
3代码:
#includestdio.h
int main()
{int a,b,c,d,e;//定义5个人 for(a1;a5;a)//因为不确定5人的名次所以要穷举法循环一个一个的尝试 {for(b1;b5;b){if(ab) continue;//名次问题只能是一个人占一个位置所以他们不可能相等 for(c1;c5;c){if(ac||bc) continue;//同理如上 for(d1;d5;d){if(ad||bd||cd) continue;//同理如上 e15-a-b-c-d;//这里可以用做减法来判断e的名次减少一层循环15是因为1到5名相加的结果 if(a!eb!ec!ed!e)//同理如上 if(1(b2)(a3)(b2)(e4)1(c1)(d2)1(c5)(d3)11(e4)(a1))//题干说每人说的话只对一般 printf(a是第%d名\nb是第%d名\nc是第%d名\nd是第%d名\ne是第%d名,a,b,c,d,e);//所以用关系判断句的结果来表示 }}}}return 0;
}
拆解分析:
1:首先对5人进行定义并开始循环,此时如果ab就排除这种情况,因为名次问题一人只能占一个名次,一个名次也只能占一个人.
#includestdio.h
int main()
{int a,b,c,d,e;//定义5个人 for(a1;a5;a)//因为不确定5人的名次所以要穷举法循环一个一个的尝试 {for(b1;b5;b){if(ab) continue;//名次问题只能是一个人占一个位置所以他们不可能相等
2接着往下进行循环. for(c1;c5;c){if(ac||bc) continue;//同理如上 for(d1;d5;d){if(ad||bd||cd) continue;//同理如上 e15-a-b-c-d;//这里可以用做减法来判断e的名次减少一层循环15是因为1到5名相加的结果
3这里是对题干条件的判断,利用关系表达式,因为题干说每人说的两句话只对一半,所以利用判断语句并令其1即可. if(a!eb!ec!ed!e)//同理如上 if(1(b2)(a3)(b2)(e4)1(c1)(d2)1(c5)(d3)11(e4)(a1))//题干说每人说的话只对一般 printf(a是第%d名\nb是第%d名\nc是第%d名\nd是第%d名\ne是第%d名,a,b,c,d,e);//所以用关系判断句的结果来表示
4运行结果: 5总结:
人贵有恒,坚持练习一定有所进步.
若想练习C语言的习题,可以去我主页逛一逛,比如说:
【c趣编程】输入一个整数判断其有几位-CSDN博客
感谢各位的阅读以上就是“C语言怎么解决跳水比赛排名问题”的内容了经过本文的学习后相信大家对C语言这一问题有了更深刻的体会具体使用情况还需要大家实践验证。这里是CSDN杰克尼小编将为大家推送更多相关知识点的文章欢迎关注