小程序
1.
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
A选手说:B第二,我第三;
B选手说:我第二,E第四;
C选手说:我第一,D第二;
D选手说:C最后,我第三;
E选手说:我第四,A第一;
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
2.
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯
的一个。以下为4个嫌疑犯的供词。
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。
3.在屏幕上打印杨辉三角。
1.
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
A选手说:B第二,我第三;
B选手说:我第二,E第四;
C选手说:我第一,D第二;
D选手说:C最后,我第三;
E选手说:我第四,A第一;
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
#define _CRT_SECURE_NO_WARNINGS 1
/*5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
A选手说:B第二,我第三;
B选手说:我第二,E第四;
C选手说:我第一,D第二;
D选手说:C最后,我第三;
E选手说:我第四,A第一;
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。 */
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int i = 1;
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 (((b == 2) || (a == 3)))//A选手说:B第二,我第三;
{
if (((b == 2) || (e == 4)))//B选手说:我第二,E第四;
{
if (((c == 1) || (d == 2)))//C选手说:我第一,D第二;
{
if (((c == 5) || (d == 3)))//D选手说:C最后,我第三;
{
if (((e == 4) || (a == 1)))//E选手说:我第四,A第一;
{
if (!((a == b) || (b == c) || (c == d) || (d == e) || (a == c) || (a == d) || (a == e) || (b == d) || (b == e) || (c == e)))
{
printf("第%d种情况为:\n", i);
printf("A为第%d名\n", a);
printf("B为第%d名\n", b);
printf("C为第%d名\n", c);
printf("D为第%d名\n", d);
printf("E为第%d名\n", e);
printf("\n");
i++;
}
else continue;
}
else continue;
}
else continue;
}
else continue;
}
else continue;
}
else continue;
}
}
}
}
}
system("pause");
}
2.
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯
的一个。以下为4个嫌疑犯的供词。
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知1个人说了真话,3个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = 0;//0代表不是凶手
int b = 0;
int c = 0;
int d = 0;
int count = 0;
a = 0;
if ((c == 0) && (d == 0) && (d == 1))//a说的是真话,a不是凶手,c不是,d不是,c说的是实话
{
if (a == 1)
count++;
if (b == 1)
count++;
if (c == 1)
count++;
if (d == 1)
count++;
if (count == 1)
{
printf("A说的是真话\n");
if (a == 1)
printf("A是凶手\n");
if (b == 1)
printf("B是凶手\n");
if (c == 1)
printf("C是凶手\n");
if (d == 1)
printf("D是凶手\n");
return 0;
}
}
count = 0;
c = 1;
a = 1;
if ((a == 1) && (d == 0) && (d == 1))//b说的是真话,c是凶手,a是凶手,d不是凶手,c说的是实话
{
if (a == 1)
count++;
if (b == 1)
count++;
if (c == 1)
count++;
if (d == 1)
count++;
if (count == 1)
{
printf("B说的是真话\n");
if (a == 1)
printf("A是凶手\n");
if (b == 1)
printf("B是凶手\n");
if (c == 1)
printf("C是凶手\n");
if (d == 1)
printf("D是凶手\n");
return 0;
}
}
a = 0;
count = 0;
c = 0;
d = 1;
a = 1;
if ((d == 1) && (a == 1) && (c == 0))//c说的是真话,d是凶手,a是凶手,c不是凶手,c说的是真的
{
if (a == 1)
count++;
if (b == 1)
count++;
if (c == 1)
count++;
if (d == 1)
count++;
if (count == 1)
{
printf("C说的是真话\n");
if (a == 1)
printf("A是凶手\n");
if (b == 1)
printf("B是凶手\n");
if (c == 1)
printf("C是凶手\n");
if (d == 1)
printf("D是凶手\n");
return 0;
}
}
a = 0;
count = 0;
d = 0;
a = 1;
if ((a == 1) && (c == 0) && (d == 0))//d说的是真话 凶手是a 凶手不是c 凶手不是d
{
if (a == 1)
count++;
if (b == 1)
count++;
if (c == 1)
count++;
if (d == 1)
count++;
if (count == 1)
{
printf("D说的是真话\n");
if (a == 1)
printf("A是凶手\n");
if (b == 1)
printf("B是凶手\n");
if (c == 1)
printf("C是凶手\n");
if (d == 1)
printf("D是凶手\n");
return 0;
}
}
system("pause");
}
3.在屏幕上打印杨辉三角。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int Factorial(int n)
{
int i = 0;
int sum = 1;
for (i = 1; i <= n; i++)
{
sum = sum*i;
}
return sum;
}
int main()
{
int line = 0;
int i = 0;
printf("请输入你想输出的杨辉三角行数\n");
scanf("%d", &line);
for (i = 0; i <= line; i++)
printf(" ");
printf(" 1 ");
printf("\n");
for (i = 2; i <= line; i++)
{
int n = 0;
for (n = 0; n <= (line - i); n++)
printf(" ");
printf(" 1 ");
for (n = 2; n < i; n++)
{
int x = 0;
int y = 0;
int m = 0;
x = i - 1;//3
y = n - 1;//1
m = x - y;
int sum1 = 1;
int sum2 = 1;
int sum3 = 1;
int sum4 = 0;
sum1 = Factorial(x);
sum2 = Factorial(y);
sum3 = Factorial(m);
sum4 = sum2*sum3;
printf(" %d ", sum1 / sum4);
}
printf(" 1 ");
printf("\n");
}
system("pause");
}