c语言24点游戏程序设计,计算24游戏的c程序设计,C语言实现24点游戏计算器的示例代码

c语言24点游戏程序设计,计算24游戏的c程序设计,C语言实现24点游戏计算器的示例代码

24点是一种益智游戏。是用括号将四个整数(一般是正整数)进行加减乘除的数学游戏,这样最后的计算结果是24。24点可以测试人的智力和数学敏感度,在游戏中可以提高人的心算能力。本文将使用C语言来实现这个游戏。有兴趣的可以看看。

目录

前言一、项目创建标准二、项目编译三、项目调试结果

前言

二十一点计算器的规则如下

24点是一种益智游戏。是用括号将四个整数(一般是正整数)进行加减乘除的数学游戏,这样最后的计算结果是24。24点可以测试人的智力和数学敏感度,在游戏中可以提高人的心算能力。

扑克牌一般用来玩24点。一副牌还剩52张(第一次练习只能用40张1 ~ 10的牌),随机抽取4张牌(称为副牌)。加、减、乘、除(可以加括号)把甲板上的数字算成24。每张卡只能使用一次。如果抽出来的牌是3、8、8、9,那么公式就是(9-8) 8 3或者3 8 (9-8)或者(9-8 8 ) 3等等。

一、项目的创建标

1.选择项目。

打开VS2019,点击新建项目——然后选择如下如图选项,创建一个C语言项目

2.输入项目名称和路径。

3.创建头文件Main.h和PointGame.h以及源文件Main.c和PointGame.c,如下所示。

二、项目的编写

1.Main.h头文件的编译

#杂注一次

#包含stdio.h

#包含stdlib.h

2.PointGame.h头文件的编译

#杂注一次

#包含stdbool.h

#包含数学. h

#定义精度1E-6

#确定目标24

#定义尺寸4

/*

*最终表达式由四个数字、括号和运算符组成,其大小不会超过

* 5 *(尺寸- 1)尺寸* 2 1

*/

typedef结构卡

{

双值;

char表达式[5 *(SIZE-1)SIZE * 2 ^ 1];

}卡,* pCard

bool game24(pCard卡,int大小);

3.PointGame.c源文件的编译

#define _CRT_SECURE_NO_WARNINGS

#包含“Main.h”

#include 'PointGame.h '

/*

*在牌堆中计算24点。

*卡片堆

*尺寸号

*/

布尔游戏24(pCard卡,整数大小)

{

卡片叠[3];

/*

*如果牌堆中只有一张牌,判断是否为所需目标。

*/

if (size==1)

{

如果(晶圆厂(卡[0])。值-目标)精度)

{

printf('%d=%s\n ',目标,卡[0]。表情);

返回true

}

其他

{

返回false

}

}

/*

*从这副牌中选择两张牌。

*/

int m,n,I,t;

for(m=0;m尺码-1;m)

{

for(n=m ^ 1;n大小;n)

{

/*

*将剩余的牌放入新的一堆。

*/

t=0;

for(I=0;I尺寸;我)

{

如果(我!=m i!=n)

{

堆栈[t]。值=卡[i]。价值;

sprintf(stack[t].表达式,' %s ',卡片[i]。表情);

t;

}

}

/*

*选择两张牌的和,并将它们放入新的一堆。

*/

堆栈[大小- 2]。值=卡[m]。价值卡。价值;

sprintf(stack[size - 2]。表达式,“(%s %s)”,卡片[m]。表情,卡[n]。表情);

if (game24(stack,size - 1))

{

返回true

}

/*

*选择两张卡片之间的差异,并将它们放入新的一堆。

*/

if(卡[m].价值卡。值)

{

堆栈[大小- 2]。值=卡[m]。价值卡。价值;

sprintf(stack[size - 2]。表达式,' %(% s-% s)% ',卡片[m]。表情,卡[n]。表情);

}

其他

{

堆栈[大小- 2]。值=卡[n]。价值卡[m]。价值;

sprintf(stack[size - 2]。表达式,' %(% s-% s)% ',卡片[n]。表情,卡[m]。表情);

}

if (game24(stack,size - 1))

{

返回true

}

/*

*选择两张卡的乘积,并将其放入新的一堆卡中。

*/

堆栈[大小- 2]。值=卡[m]。值*卡[n]。价值;

sprintf(stack[size - 2]。表达式,' %s * %s ',卡片[m]。表情,卡[n]。表情);

if (game24(stack,size - 1))

{

返回true

}

/*

*选择两张牌,放入新的一堆。

*/

if(卡[m].值!=0)

{

堆栈[大小- 2]。值=卡[n]。值/卡[m]。价值;

sprintf(stack[size - 2]。表达式,' %s/%s ',卡片[n]。表情,卡[m]。表情);

if (game24(stack,size - 1))

{

返回true

}

}

if(卡片[n]。值!=0)

{

堆栈[大小- 2]。值=卡[m]。值/卡[n]。价值;

sprintf(stack[size - 2]。表达式,' %s/%s ',卡片[m]。表情,卡[n]。表情);

if (game24(stack,size - 1))

{

返回true

}

}

}

}

返回false

}

4.Main.c源文件的编译

#define _CRT_SECURE_NO_WARNINGS

#包含“Main.h”

#include 'PointGame.h '

int main()

{

系统(“彩色3E”);

int i,戳;

卡牌[大小];

Printf('请输入4个数字判断解:');

for(I=0;I尺寸;我)

{

scanf('%d ',戳);

卡片[i]。值=(双)戳;

sprintf(卡[i].表情,' %d ',戳);

}

if (game24(卡,大小))

{

printf(' Done \ n ');

}

其他

{

printf('无应答\ n ');

}

系统(“暂停”);

返回0;

}

三、项目的调试结果

选择生成-生成解决方案。

结果如下

根据F5,调试结果如下

本文关于C语言24点游戏计算器的样例代码到此为止。有关C语言24点游戏的更多信息,请搜索我们之前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: