//1.
// 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
// A选手说:B第二,我第三;
// B选手说:我第二,E第四;
// C选手说:我第一,D第二;
// D选手说:C最后,我第三;
// E选手说:我第四,A第一;
// 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
//
#include <stdio.h>
int main () {
//A,B,C,D,E
// A ( B = 2,A = 3 )
// B ( B = 2,E = 4 )
// C ( C = 1,D = 2 )
// D ( C = 5,A = 3 )
// E ( E = 4,A = 1 )
// A选手说:B第二,我第三;
// B选手说:我第二,E第四;
// C选手说:我第一,D第二;
// D选手说:C最后,我第三;
// E选手说:我第四,A第一;
int A,B,C,D,E;
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==2&&A!=3)||(B!=2&&A==3)) { //进行条件筛选
if((B==2&&E!=4)||(B!=2&&E==4)) {
if((C==1&&D!=2)||(C!=1&&D==2)){
if((C==5&&D!=3)||(C!=5&&D==3)){
if((E==4&&A!=1)||(E!=4&&A==1)){
if((A*B*C*D*E)==120) //当1,2,3,4,5排列时候相乘的值为120即可
/*if(((A!=B)&&(A!=C)&&(A!=D)&&(A!=E))
&&((B!=C)&&(B!=D)&&(B!=E))
&&((C!=D)&&(C!=E))
&&(D!=E))*/
printf("A=%d,B=%d,C=%d,D=%d,E=%d\n",A,B,C,D,E);
}
}
}
}
}
}
}
}
}
}
return 0;
}
// 2.
// 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个
// 嫌疑犯的一个。以下为4个嫌疑犯的供词。
// A说:不是我。
// B说:是C。
// C说:是D。
// D说:C在胡说
// 已知3个人说了真话,1个人说的是假话。
// 现在请根据这些信息,写一个程序来确定到底谁是凶手。
//
代码效果
#include <stdio.h>
int main () {
int killer;
for(killer ='A';killer<='D';killer++) { //设置循环判断
if(((killer!='A')+(killer=='C')+(killer=='D')+(killer!='D'))==3) //三个为真一个为假那么相加的值为3 就可以筛选出那个人
printf("%c\n",killer);
}
return 0;
}
// 3.在屏幕上打印杨辉三角。
// 1
// 1 1
// 1 2 1
// 1 3 3 1
#define row 9
#define col 9
#include<stdio.h>
int main () {
int i,j;
int arr[row][col]={ 1 };
for(i = 1;i<row;i++)
for(j = 1;j<=i;j++) {
arr[i][0] = 1;
arr[i][j] = arr[i-1][j-1]+arr[i-1][j];
}
for(i = 0;i<row;i++){
for(j = 0;j<=i;j++) {
printf("%2d ",arr[i][j]);
}
printf("\n");
}
return 0;
}