预测比赛结果,排查确定杀人凶手,打印杨辉三角


  1. 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
    A选手说:B第二,我第三;
    B选手说:我第二,E第四;
    C选手说:我第一,D第二;
    D选手说:C最后,我第三;
    E选手说:我第四,A第一;
    比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
#include<stdio.h>
int main()
{
    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(A!=B && A!=C 
                            && A!=D && A!=E 
                            && B!=C && B!=D 
                            && B!=E && C!=D 
                            && C!=E && D!=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)
                            {
                                printf("A==%d,B==%d,C==%d,D==%d,E==%d",A,B,C,D,E);
                            }
                        }
                    }
                }
            }
        }
    }

    return 0;
}

  1. 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯
    的一个。以下为4个嫌疑犯的供词。
    A说:不是我。
    B说:是C。
    C说:是D。
    D说:C在胡说
    已知3个人说了真话,1个人说的是假话。
    现在请根据这些信息,写一个程序来确定到底谁是凶手。
#include<stdio.h>
int main()
{
    char thisman = '0';
    for(thisman='A'; thisman <= 'D'; thisman++)
    {
        if((thisman != 'A') + (thisman == 'C') + (thisman == 'D') + (thisman != 'D') == 3)
        {
            printf("%c是凶手\n", thisman);
        }
    }
    return 0;
}

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

#include<stdio.h>
#define N 10
int main()
{
    int i = 0;
    int j = 0;
    int a[N][N]= {0};
    for(i=0; i<N; i++)
    {
      for(j=0; j<=i; j++)
      {   
       if(j == 0 || j == i)
       {       
       a[i][j] = 1;
        }      
       else
           a[i][j] = a[i-1][j-1] +a[i-1][j];
       }    
    }
    for(i=0; i<N;i++)
    {
    printf("%*d",32-i*2,a[i][0]);
    for(j=1; j<=i; j++)
    {
    printf("%4d",a[i][j]);
    }
    printf("\n");
    }   
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值