New Code day8

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

#include <stdio.h>
int main()
{
    int A,B,C,D,E;
    for(A=1; A<6; A++)
    {
        for(B=1; B<6; B++)
        {
            for(C=1; C<6; C++)
            {
                for(D=1; D<6; D++)
                {
                    for(E=1; E<6; 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))
                            if((B !=D) && (A != D) && (A+B+C+D+E)==15)    
                                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 = 0;
    for(killer = 'a'; killer <= 'd'; killer++)
    {
        if(('a' != killer) + ('c' == killer) + ('d' == killer) + ('d' != killer) ==3)
            printf("%c\n",killer);
    }
    return 0;
}

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

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
	int i,j,n = 0;
	//首先定义二维数组计数符号i,j 还有杨辉三角行数的初始化
	int a[100][100] = {0};
	//二维数组大小可自定,但切记不可使其超过整形数组的大小
	while(n < 1 || n >100)
	//在输入的值不正确时自动初始化问题,重新输入
	{
		printf("请输入要打印的杨辉三角行数>:");
		scanf("%d",&n);
	}
	for(i = 0; i < n ; i++)
	{
		a[i][0] = 1;
		//每一行第一个为1,用第一个for循环的输入
	}
	for(i = 1; i < n; i++ )//第一层循环i决定第几行
	{
		for(j = 1; j <= i; j++)//第二层循环借用i限制每行字符数目
		{
			a[i][j] = a[i-1][j-1]+a[i-1][j];
		}
	}
	for(i = 0; i < n; i++)//一个for循环逐行打印叫a的二维数组
	{
		for(j = 0; j <= i; j++)
			printf("%5d",a[i][j]);
		printf("\n");
	}
	return 0;
}

    打印杨辉三角方法较多,其他方法另文简介!

猜你喜欢

转载自blog.csdn.net/quchen528/article/details/82934810