1.猜名次
1.题目
2.分析
我们首先要把五名选手的名次全部都遍历一次,然后接下来我们就要分析题目的意思,每个选手都说对了一半,所以
我们要用if语句进行判断,但是在判断之前我们还要排除名词并列的可能
这样我们就写出了最后的代码
3.原码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
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.题目
2.分析
这个和上面猜名次本质上是一种类型的题目,看题目,我们可以用if语句来写,只有一个人说了假话
3.原码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
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.运行结果
3.杨辉三角
1.题目
2.分析
3.原码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
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;
}