24点游戏c语言
时间: 2023-07-09 19:14:10 浏览: 56
24点游戏是一种数学游戏,要求玩家通过给定的四个数字,使用加、减、乘、除等运算符,计算出结果为24的表达式。以下是一个简单的C语言实现:
```c
#include <stdio.h>
int check(double a, double b, double c, double d) {
double exp[5];
int i, j, k, l, m;
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
if (j == i) continue;
for (k = 0; k < 4; k++) {
if (k == i || k == j) continue;
for (l = 0; l < 4; l++) {
if (l == i || l == j || l == k) continue;
exp[0] = a;
exp[1] = b;
exp[2] = c;
exp[3] = d;
for (m = 0; m < 5; m++) {
if (m == 0) exp[m] = exp[i] + exp[j];
else if (m == 1) exp[m] = exp[i] - exp[j];
else if (m == 2) exp[m] = exp[i] * exp[j];
else if (m == 3 && exp[j] != 0) exp[m] = exp[i] / exp[j];
else continue;
exp[i] = exp[k];
exp[j] = exp[l];
exp[k] = exp[m];
if (k > l) {
int temp = k;
k = l;
l = temp;
}
exp[l] = exp[3];
if (exp[2] == 24) return 1;
}
}
}
}
}
return 0;
}
int main() {
double a, b, c, d;
printf("请输入四个数字:");
scanf("%lf%lf%lf%lf", &a, &b, &c, &d);
if (check(a, b, c, d)) printf("可以得到24!\n");
else printf("无法得到24!\n");
return 0;
}
```
这个程序中,`check`函数用来判断给定的四个数是否能够通过加、减、乘、除等运算得到24。这里使用了四重循环,枚举了所有可能的运算顺序。如果能够得到24,则返回1,否则返回0。主函数中,询问用户输入四个数字,并调用`check`函数进行判断,输出结果。