1.
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
A选手说:B第一,我第三。
B选手说:我第二,E第四。
C选手说:我第一,D第二。
D选手说:C最后,我第三。
E选手说:我第四,A第一。
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
#include<stdio.h> #include<stdlib.h> int main() { int a, b, c, d, e; int num = 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 (a != b && a != c && a != d && a != e && b != c && b != d && b != e && c != d && c != e && d != e) { if ((1 == b&&3 != a) || (2 != b && 3 == a)) if((2 == b && 4 != e)||(2 != b && 4 == e)) if((1 == c && 2 != d)|| (1 != c && 2 == d)) if ((5 == c && 3 != d) || (5 != c && 3 == d)) if ((4 == e && 1 != a) || (4 != e && 1 == a)) { printf("a=%d b=%d c=%d d=%d e=%d", a, b, c, d, e); printf(" "); } } } system("pause"); return 0; }
2.
某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。
#include<stdio.h> #include<stdlib.h> int main() { int a, b, c, d; for (a = 0; a < 2; a++) for (b = 0; b < 2; b++) for (c = 0; c < 2; c++) for (d = 0; d < 2; d++) { if (0 == a && 1 == c && 1 == d && 0 != d && a + b + c + d == 1) printf("a=%d b=%d c=%d d=%d", a, b, c, d); if (0 == a && 1 == c && 1 != d && 0 == d && a + b + c + d == 1) printf("a=%d b=%d c=%d d=%d", a, b, c, d); if (0 == a && 1 != c && 1 == d && 0 == d && a + b + c + d == 1) printf("a=%d b=%d c=%d d=%d", a, b, c, d); if (0 != a && 1 == c && 1 == d && 0 == d && a + b + c + d == 1) printf("a=%d b=%d c=%d d=%d", a, b, c, d); } system("pause"); return 0; }