Work_6

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
A选手说:B第二,我第三;
B选手说:我第二,E第四;
C选手说:我第一,D第二;
D选手说:C最后,我第三;
E选手说:我第四,A第一;
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。

#include <stdio.h>
#include <stdlib.h>

void Yang_triangle(int input){
    int arr[100][100];
    arr[1][1] = 1;
    printf("%d\n", arr[1][1]);
    for (int i = 2; i <= input; i++){
        for (int j = 1; j <= i; j++){
            if (j == 1){
                arr[i][j] = 1;
                printf("%d  ", arr[i][j]);
            }
            if (j > 1 && j < i){
                arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
                printf("%d  ", arr[i][j]);
            }
            if (j == i){
                arr[i][j] = 1;
                printf("%d\n", arr[i][j]);
            }
        }
    }
}

int main(){
    int A, B, C, D, E;
    for (A = 1; A < 6; A++){
        for (B = 1; B <= 5; B++){
            if (B == A){
                continue;
            }
            for (C = 1; C <= 5; C++){
                if (C == B || C == A){
                    continue;
                }
                for (D = 1; D <= 5; D++){
                    if (D == A || D == B || D == C){
                        continue;
                    }
                    for (E = 1; E <= 5; E++){
                        if (E == A || E == B || E == C || E == D){
                            continue;
                        }
                        int sum = 0;
                        sum = ((B == 2) ^ (A == 3)) + ((B == 2) ^ (E == 4)) + ((C == 1) ^ (D == 2)) + ((C == 5) ^ (D == 3)) + ((E == 4) ^ (A == 1));
                        if (sum == 5){
                            Print(A, B, C, D, E);
                        }
                        break;
                    }
                }
            }
        }
    }
    printf("\n");
    system("pause");
    return 0;
}

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个
嫌疑犯的一个。以下为4个嫌疑犯的供词。
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。

#include <stdio.h>
#include <stdlib.h>

int main(){
    char killer;
    for (killer = 'A'; killer <= 'D'; killer++){
        if (((killer != 'A') + (killer == 'C') + (killer == 'D') + (killer != 'D'))== 3){
            printf("凶手是%c", killer);
            break;
        }
    }
    printf("\n");
    system("pause");
    return 0;
}

在屏幕上打印杨辉三角。
1
1 1
1 2 1
1 3 3 1

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

void Yang_triangle(int input){
    int arr[100][100];
    arr[1][1] = 1;
    printf("%d\n", arr[1][1]);
    for (int i = 2; i <= input; i++){
        for (int j = 1; j <= i; j++){
            if (j == 1){
                arr[i][j] = 1;
                printf("%d  ", arr[i][j]);
            }
            if (j > 1 && j < i){
                arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
                printf("%d  ", arr[i][j]);
            }
            if (j == i){
                arr[i][j] = 1;
                printf("%d\n", arr[i][j]);
            }
        }
    }
}

int main(){
    int input;
    printf("请输入要打印的杨辉三角行数:");
    scanf("%d", &input);
    Yang_triangle(input);
    printf("\n");
    system("pause");
    return 0;
}

 

 

 

posted @ 2018-12-18 20:37  lkimprove  阅读(84)  评论(0编辑  收藏  举报