跳水问题、、凶杀案、、杨辉三角

    xiaoxiao2022-07-12  167

    5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一; 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。 思路 定义A、B、C、D、E五个变量让他们分别从一到五循环 在循环内判断 因为每位选手都说对了一半所以 (B == 2) + (A == 3)== 1 (B == 2) + (E == 4)== 1 (C == 1) + (D == 2)== 1 (C == 5) + (D == 3)== 1 (E == 4) +(A == 1)==1 为了不让重复在占用发生因此 (ABCDE == 120) 代码:

    #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h>

    void test() {

    int A = 0; int B = 0; int C = 0; int D = 0; int E = 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 == 2) + (A == 3)==1 ) && ((B == 2) + (E == 4)==1) && ((C == 1) + (D == 2)== 1) && ((C == 5) + (D == 3)== 1) && ((E == 4) +(A == 1)==1) && (A*B*C*D*E == 120)) { printf("A = %d B = %d C = %d D = %d E = %d\n ",A,B,C,D,E); } } } } } }

    } int main()

    { test(); system(“pause”); return 0; } 2. 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个。 嫌疑犯的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说的是假话。 现在请根据这些信息,写一个程序来确定到底谁是凶手。 思路 通过循环让A到D的人去进行判断是否为凶手 代码: #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> char Judge() {

    int murder = 0; for (murder = 'A'; murder <= 'D'; murder++) { if ((murder != 'A') + (murder == 'C') + (murder == 'D') + (murder != 'D') == 3) { return murder; } }

    }

    int main() { int ret = 0; ret = Judge(); printf("%c是凶手\n", ret); system(“pause”); return 0; } 3.杨辉三角 思路 根据杨辉三角的通式打印n行m列上的数字 通式: C(n-1,m-1)=(n-1)!/[(m-1)!(n-m)!] 代码: #define _crt_secure_no_warnings 1 #include<stdio.h> #include<stdlib.h> int factorial(int x) //定义阶乘函数 {

    if (x < 2) { return 1; } else { return x*factorial(x - 1); }

    } void ptri(int x) //打印杨辉三角 {

    int i = 0; int j = 0; for (i = 1; i <= x; i++) { for (j = 1; j <= x; j++) { if (i >= j) { printf("%d ", (factorial(i - 1)) / (factorial(j - 1)*factorial(i - j))); } } printf("\n"); }

    } int main() { int num = 0; printf(“please input a number=>\n”); scanf("%d", &num); ptri(num); system(“pause”); return 0; }

    最新回复(0)