C语言练习12-8
来源:互联网 发布:大数据架构基础 编辑:程序博客网 时间:2024/06/05 07:37
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
A选手说:B第一,我第三。
B选手说:我第二,E第四。
C选手说:我第一,D第二。
D选手说:C最后,我第三。
E选手说:我第四,A第一。
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
#include <stdio.h> int main(){ int a = 0, b = 0, c = 0, d = 0, e = 0; /*初始化每位选手名次情况*/ int ret = 0; int flag = 0; for (a = 1; a <= 5; a++) { for (b = 1; b <= 5; b++) { for (c = 1; c <= 5; c++) { for (d = 1; d <= 5; d++) { for (e = 1; e <= 5; e++) { if ( ((b == 1) + (a == 3) == 1) && ((b == 2) + (e == 4) == 1) && ((c == 1) + (d == 2) == 1) && ((c == 5) + (d == 3) == 1) && ((e == 4) + (a == 1) == 1) ) { flag = 1; ret = 0; ret |= (1 << (a - 1)); ret |= (1 << (b - 1)); ret |= (1 << (c - 1)); ret |= (1 << (d - 1)); ret |= (1 << (e - 1)); /*把ret二进制码对应位都变为1*/ while (ret) { if (ret % 2 == 0) { flag = 0; break; } ret = ret / 2; /*若ret低位的对应位中存在以为=0,则跳出while循环,即排除该项 直到ret这的对应几位位无0存在,即名次连续*/ if (flag == 1) printf("比赛结果:a = %d, b = %d, c = %d, d = %d, e = %d;\n" , a, b, c, d, e); ret = 0; } } } } } } return 0;}
0 0
- C语言练习12-8
- c语言练习8
- C语言基础练习12
- C语言基础练习8
- C语言小练习8
- C语言练习—12-8(2)
- c语言练习 8-0. 查找整数
- C语言练习篇-8函数指针练习
- c语言练习1
- C语言综合练习
- c语言练习1
- c语言练习2
- c语言练习3
- c语言练习4
- c语言练习5
- c语言练习6
- c语言练习7
- c语言练习9
- JVM学习-垃圾收集器
- Hdu 4009 Transfer water(最小树形图)
- Linux Kernel media框架(四)
- Android自动接听实现
- ZJOI 2006 书架 Splay
- C语言练习12-8
- openwrt ubus (OpenWrt micro bus 架构)
- 2017展望
- POJ1022_Packing Unit 4D Cubes_深搜
- 204. Count Primes
- java设计模式之 代理模式
- 目前看到的最好的RNN、LSTM、GRU博客:Understanding LSTM Networks(翻译)
- 【Codeforces Round #395 (Div. 2)】Codeforces 764A Taymyr is calling you
- http是有保持长连接的