猜名次 猜凶手 杨辉三角问题全解

1.猜名次

1.题目

猜名次 猜凶手 杨辉三角问题全解_第1张图片

2.分析

我们首先要把五名选手的名次全部都遍历一次,然后接下来我们就要分析题目的意思,每个选手都说对了一半,所以
猜名次 猜凶手 杨辉三角问题全解_第2张图片
我们要用if语句进行判断,但是在判断之前我们还要排除名词并列的可能
在这里插入图片描述
这样我们就写出了最后的代码

3.原码

#define _CRT_SECURE_NO_WARNINGS 1
#include
int main()
{
	for (int A = 1; A <= 5; A++)
	{
		for (int B = 1; B <= 5; B++)
		{
			for (int C = 1; C <= 5; C++)
			{
				for (int D = 1; D <= 5; D++)
				{
					for (int E = 1; E <= 5; E++)
						if (A + B + C + D + E == 15 && A * B * C * D * E == 120)
							//去掉相同的名词
						{
							//根据题目的题目所写的判断
							if ((B == 2) + (A == 3) == 1 &&
								((B == 2) + (E == 3) == 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);
								printf("\n");
							}
						}
				}
			}
		}
	}
	return 0;
}

2.猜凶手

1.题目

猜名次 猜凶手 杨辉三角问题全解_第3张图片

2.分析

这个和上面猜名次本质上是一种类型的题目,看题目,我们可以用if语句来写,只有一个人说了假话
在这里插入图片描述

3.原码

#define _CRT_SECURE_NO_WARNINGS 1
#include
int main()
{
	char killer=0;
	for (killer = 'A'; killer <= 'D'; killer++)
	{
		if ((killer != 'A') + (killer == 'C') + (killer == 'D') + (killer != 'D') == 3)
		{
			printf("killer is %c\n", killer);
		}
	}
	return 0;
}

4.运行结果

猜名次 猜凶手 杨辉三角问题全解_第4张图片

3.杨辉三角

1.题目

猜名次 猜凶手 杨辉三角问题全解_第5张图片

2.分析

猜名次 猜凶手 杨辉三角问题全解_第6张图片

3.原码

#define _CRT_SECURE_NO_WARNINGS 1
#include
int main()
{
	int n = 0;
	scanf("%d", &n);
	int arr[10][10] = { 0 };
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j <= i; j++)
		{
			if (i == j || j == 0)
			{
				arr[i][j] = 1;
			}
			if (i >= 2 && j >= 1)
			{
				arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
			}
		}
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j <= i; j++)
		{
			printf("%d ", arr[i][j]);
		}
		printf("\n");
	}
	return 0;
}

4.结果

猜名次 猜凶手 杨辉三角问题全解_第7张图片

你可能感兴趣的:(#+C语言,算法,c语言,开发语言)