GVKun编程网logo

php:简单24点计算器(在线24点计算器工具)

15

本文将为您提供关于php:简单24点计算器的详细介绍,我们还将为您解释在线24点计算器工具的相关知识,同时,我们还将为您提供关于24点纸牌游戏计算器、C语言实现24点游戏计算器的示例代码、php简单网

本文将为您提供关于php:简单24点计算器的详细介绍,我们还将为您解释在线24点计算器工具的相关知识,同时,我们还将为您提供关于24点纸牌游戏计算器、C语言实现24点游戏计算器的示例代码、php 简单网页计算器的完整代码、php 简单计算器的实用信息。

本文目录一览:

php:简单24点计算器(在线24点计算器工具)

php:简单24点计算器(在线24点计算器工具)

写了一个简单的24点计算器,在这里http://dabentu.com/mydemo/24game/ 24点计算器 接触了一下ajax,但是在写javascript代码的时候还是有很多的地方出错。一步一步改 原文地址:php:简单24点计算器, 感谢原作者分享。

写了一个简单的24点计算器,在这里http://dabentu.com/mydemo/24game/

24点计算器

接触了一下ajax,但是在写javascript代码的时候还是有很多的地方出错。一步一步改

原文地址:php:简单24点计算器, 感谢原作者分享。

24点纸牌游戏计算器

24点纸牌游戏计算器

#include <stdio.h>

bool flag; //判断是否有解

/**
    @function:  两个数之间的计算
    @param:     float x-->第一个数
                float y-->第二个数
                int z-->运算符号
    @return:    float-->运算结果
*/
float calculate(float x, float y, int z)
{
    switch (z)
    {
    case 0: return x + y;
    case 1: return x - y;
    case 2: return x * y;
    case 3: return x / y;
    }
}
/*
    @function:  进行不同运算符号和组合的计算
    @param:     float a, b, c, d -->输入的四个数
    @return:    void
*/
void calculate24(float a, float b, float c, float d)
{
    char c1, c2, c3;
    for (int i = 0; i<4; i++)
    {
        if (i == 0) c1 = ''+'';
        if (i == 1) c1 = ''-'';
        if (i == 2) c1 = ''*'';
        if (i == 3) c1 = ''/'';
        for (int j = 0; j<4; j++)
        {
            if (j == 0) c2 = ''+'';
            if (j == 1) c2 = ''-'';
            if (j == 2) c2 = ''*'';
            if (j == 3) c2 = ''/'';
            for (int k = 0; k<4; k++)
            {
                if (k == 0) c3 = ''+'';
                if (k == 1) c3 = ''-'';
                if (k == 2) c3 = ''*'';
                if (k == 3) c3 = ''/'';
                //(((a#b)#c)#d)
                if (calculate(calculate(calculate(a, b, i), c, j), d, k) == 24.0)
                {   //( ( a i b) j c ) k d
                    flag = true;
                    printf("( ( %.0f %c %.0f ) %c %.0f ) %c %.0f = 24\n", a, c1, b, c2, c, c3, d);
                    // return ;
                }
                //((a#b)#(c#d))
                if (calculate(calculate(a, b, i), calculate(c, d, j), k) == 24.0)
                {   //( a i b ) k ( c j d )
                    flag = true;
                    printf("( %.0f %c %.0f ) %c ( %.0f %c %.0f ) = 24\n", a, c1, b, c3, c, c2, d);
                    // return ;
                }
                //(((a#(b#c))#d)
                if (calculate(calculate(c, calculate(a, b, i), j), d, k) == 24.0)
                {   //( c j ( a i b ) ) k d
                    flag = true;
                    printf("( %.0f %c ( %.0f %c %.0f ) ) %c %.0f = 24\n", c, c2, a, c1, b, c3, d);
                    // return ;
                }
                //(a#(b#(c#d)))
                if (calculate(d, calculate(c, calculate(a, b, i), j), k) == 24.0)
                {   //( d k ( c j ( a i b ) )
                    flag = true;
                    printf("%.0f %c ( %.0f %c ( %.0f %c %.0f ) ) = 24\n", d, c3, c, c2, a, c1, b);
                    // return ;
                }
                //(a#((b#c)#d))
                if (calculate(d, calculate(calculate(a, b, i), c, j), k) == 24.0)
                {   //( d k ( ( a i b ) j c )
                    flag = true;
                    printf("%.0f %c ( ( %.0f %c %.0f ) %c %.0f ) = 24\n", d, c3, a, c1, b, c2, c);
                    // return ;
                }
            }
        }
    }
}
/**
    @function:  输入的四个数进行全排列
    @param:     float p[4]-->四个数
    @return:    void
*/
void solve(float p[4])
{
    calculate24(p[0], p[1], p[2], p[3]);
    calculate24(p[0], p[1], p[3], p[2]);
    calculate24(p[0], p[2], p[1], p[3]);
    calculate24(p[0], p[2], p[3], p[1]);
    calculate24(p[0], p[3], p[1], p[2]);
    calculate24(p[0], p[3], p[2], p[1]);
    calculate24(p[1], p[0], p[2], p[3]);
    calculate24(p[1], p[0], p[3], p[2]);
    calculate24(p[1], p[2], p[0], p[3]);
    calculate24(p[1], p[3], p[0], p[2]);
    calculate24(p[1], p[2], p[3], p[0]);
    calculate24(p[1], p[3], p[2], p[0]);
    calculate24(p[2], p[0], p[1], p[3]);
    calculate24(p[2], p[0], p[3], p[1]);
    calculate24(p[2], p[1], p[0], p[3]);
    calculate24(p[2], p[3], p[0], p[1]);
    calculate24(p[2], p[1], p[3], p[0]);
    calculate24(p[2], p[3], p[1], p[0]);
    calculate24(p[3], p[0], p[1], p[2]);
    calculate24(p[3], p[0], p[2], p[1]);
    calculate24(p[3], p[1], p[0], p[2]);
    calculate24(p[3], p[2], p[0], p[1]);
    calculate24(p[3], p[1], p[2], p[0]);
    calculate24(p[3], p[2], p[1], p[0]);
}

int main()
{
    float a[4];
    printf("请输入4个数以空格隔开: ");
    while (scanf("%f%f%f%f", &a[0], &a[1], &a[2], &a[3]) == 4)
    {
        flag = false;
        solve(a);
        if (flag == false)
        {
            printf("这个组合没有解!\n");
        }
        printf("\n请输入4个数以空格隔开: ");
    }
    return 0;
}

C语言实现24点游戏计算器的示例代码

C语言实现24点游戏计算器的示例代码

前言

24点游戏计算器的规则如下

24点是一种益智游戏,24点是把4个整数(一般是正整数)通过加减乘除以及括号运算,使最后的计算结果是24的一个数学游戏,24点可以考验人的智力和数学敏感性,它能在游戏中提高人们的心算能力。

24点通常是使用扑克牌来进行游戏的,一副牌中抽去大小王后还剩下52张(如果初练也可只用1~10这40张牌),任意抽取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头文件的编写

#pragma once

#include <stdio.h>
#include <stdlib.h>

2、PointGame.h头文件的编写

#pragma once

#include <stdbool.h>
#include <math.h>

#define PRECISION 1E-6
#define TARGET 24
#define SIZE 4

/*
* 最终表达式由四个数、括号、运算符组成,其大小不会超过
* 5 * (SIZE - 1) + SIZE * 2 + 1
*/


typedef struct card
{
	double value;
	char expression[5 * (SIZE - 1) + SIZE * 2 + 1];
} Card, *pCard;

bool game24(pCard card, int size);

3、PointGame.c源文件的编写

#define _CRT_SECURE_NO_WARNINGS

#include "Main.h"
#include "PointGame.h"

/*
* 牌堆中计算24点
*   card  牌堆
*   size  个数
*/
bool game24(pCard card, int size)
{
	Card stack[3];
	/*
	* 如果牌堆里只有一张牌,判断是否就是需要的目标
	*/
	if (size == 1)
	{
		if (fabs(card[0].value - TARGET) < PRECISION)
		{
			printf("%d = %s\n", TARGET, card[0].expression);
			return true;
		}
		else
		{
			return false;
		}
	}
	/*
	*从牌堆中任选两张牌
	*/
	int m, n, i, t;
	for (m = 0; m < size - 1; m++)
	{
		for (n = m + 1; n < size; n++)
		{
			/*
			* 剩余的牌放入新牌堆
			*/
			t = 0;
			for (i = 0; i < size; i++)
			{
				if (i != m && i != n)
				{
					stack[t].value = card[i].value;
					sprintf(stack[t].expression, "%s", card[i].expression);
					t++;
				}
			}
			/*
			* 选中两张牌的和放入新牌堆
			*/
			stack[size - 2].value = card[m].value + card[n].value;
			sprintf(stack[size - 2].expression, "(%s + %s)", card[m].expression, card[n].expression);

			if (game24(stack, size - 1))
			{
				return true;
			}
			/*
			* 选中两张牌的差放入新牌堆
			*/
			if (card[m].value > card[n].value)
			{
				stack[size - 2].value = card[m].value - card[n].value;
				sprintf(stack[size - 2].expression, "(%s - %s)", card[m].expression, card[n].expression);
			}
			else
			{
				stack[size - 2].value = card[n].value - card[m].value;
				sprintf(stack[size - 2].expression, "(%s - %s)", card[n].expression, card[m].expression);
			}

			if (game24(stack, size - 1))
			{
				return true;
			}

			/*
			* 选中两张牌的积放入新牌堆
			*/
			stack[size - 2].value = card[m].value * card[n].value;
			sprintf(stack[size - 2].expression, "%s * %s", card[m].expression, card[n].expression);

			if (game24(stack, size - 1))
			{
				return true;
			}

			/*
			* 选中两张牌的商放入新牌堆
			*/
			if (card[m].value != 0)
			{
				stack[size - 2].value = card[n].value / card[m].value;
				sprintf(stack[size - 2].expression, "%s / %s", card[n].expression, card[m].expression);

				if (game24(stack, size - 1))
				{
					return true;
				}
			}

			if (card[n].value != 0)
			{
				stack[size - 2].value = card[m].value / card[n].value;
				sprintf(stack[size - 2].expression, "%s / %s", card[m].expression, card[n].expression);

				if (game24(stack, size - 1))
				{
					return true;
				}
			}
		}
	}
	return false;
}

4、Main.c源文件的编写

#define _CRT_SECURE_NO_WARNINGS

#include "Main.h"
#include "PointGame.h"



int main()
{
	system("color 3E");

	int i, poke;
	Card card[SIZE];

	printf("请输入4个数字 以判断解法:");
	for (i = 0; i < SIZE; i++)
	{
		scanf("%d", &poke);
		card[i].value = (double)poke;
		sprintf(card[i].expression, "%d", poke);
	}

	if (game24(card, SIZE))
	{
		printf("Done\n");
	}
	else
	{
		printf("No Answer\n");
	}

	system("pause");
	return 0;
}

三、项目的调试结果

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

结果如下

按F5调试结果如下所示

到此这篇关于C语言实现24点游戏计算器的示例代码的文章就介绍到这了,更多相关C语言24点游戏内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能感兴趣的文章:
  • C语言实现24点问题详解
  • C语言实现纸牌24点小游戏
  • C语言实现经典24点纸牌益智游戏
  • C语言实现24点游戏源代码
  • C语言实现经典24点算法
  • C语言实现扑克牌计算24点
  • C语言实现纸牌计算24点小游戏

php 简单网页计算器的完整代码

php 简单网页计算器的完整代码

对PHP实现的一个简单的网页计算器代码感兴趣的小伙伴,下面一起跟随小编 jb51.cc的小编两巴掌来看看吧!

/**
 * PHP实现的一个简单的网页计算器代码
 *
 * @param 
 * @arrange 512-笔记网: jb51.cc
 **/
<html>
<head>
<title>这是一个网页版的简单计算器</title>
  <Meta http-equiv=Content-Type content=text/html;chaset=utf-8 >
</head>
<?PHP
$num1=true;
$num2=true;
$numa=true;
$numb=true;
$message=;
if(isset($_GET[sub])){
 if($_GET[num1]==){
	 $num1=false;
	 $message.=第一个数不能为空;
 }
 if($_GET[num2]==){
	 $num1=false;
	 $message.=第二个数不能为空;
 }
 if(!is_numeric($_GET[num1])){
$numa=false;
	$message.=第一个数应该是数字;           
 }
 if(!is_numeric($_GET[num2])){
$numb=false;
	$message.=第二个数应该是数字;           
 }
 if($num1 && $num2 && $numa && $numb){
	  $sum=0;
	  switch($_GET[ysf]){
			case +:
		 $sum=$_GET[num1]+$_GET[num2];
		 break;
			case -:
		 $sum=$_GET[num1]-$_GET[num2];
		 break;
			case x:
		 $sum=$_GET[num1]*$_GET[num2];
		 break;
			case /:
		 $sum=$_GET[num1]/$_GET[num2];
		 break;
			case %:
		 $sum=$_GET[num1]%$_GET[num2];
		 break;
	  }
	 }
}
?>   
<body>
<table align=center border=1 width=500>
		<caption><h1>网页计算器</h1></caption>
		<form action=jsq.PHP>
		<tr>
			 <td>
	 <input type=text size=5 name=num1 value=<?PHP echo $_GET[num1] ?>>
			 </td>
			 <td>
				   <select name=ysf>
	   <option value=+ <?PHP if($_GET[ysf]==+) echo selected ?>>+</option>
						   <option value=- <?PHP if($_GET[ysf]==-) echo selected ?>>-</option>
		   <option value=x <?PHP echo $_GET[ysf]==x?selected: ?>>x</option>
		   <option value=/ <?PHP echo $_GET[ysf]==/?selected: ?>>/</option>
		   <option value=% <?PHP echo $_GET[ysf]==%?selected: ?>>%</option>
	   </select>
			 </td>
			 <td>
	   <input type=text size=5 name=num2 value=<?PHP echo $_GET[num2] ?>>
	 </td>   
			 <td>
				   <input type=submit name=sub value=计算>
	 </td>
		<?PHP
		if(isset($_GET[sub])){
	echo '<tr><td colspan=4>';
	if($num1 && $num2 && $numa && $numb){
					  echo 结果:.$_GET[num1]. .$_GET[ysf]. .$_GET[num2]. = .$sum;
	}else{
		  echo $message;
	}
		  echo '</td></tr>';
	  }
		?>
		</form>
 </table>
</body>
</html>
/***   来自小编 jb51.cc(jb51.cc)   ***/

php 简单计算器

php 简单计算器

  1.   作一个加法器,计算它们的和
    2.  作一个减法器,计算它们的差
    3.  作一个乘法器,计算它们的积
    4.  作一个除法器,计算它们的商(和余数)
    这个计算器有着俩个页面,一个页面用于输出结果

mycal.php

<html>
<head>
    <title>我的计算器</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
 
</head>
<body>
    <form action="result.php" method="post"/>
    <table width="300px" border="0">  
    <tr><td>第一个数</td><td><input type="text" name="num1" /></td></tr>
    <tr><td>第二个数</td><td><input type="text" name="num2" /></td></tr>
    <tr><td>运算符</td><td>
    <select name="oper">
        <option value="+">+</option>
        <option value="-">-</option>
        <option value="*">*</option>
        <option value="/">/</option>
    </select></td></tr>
    <tr>
        <td colspan="2"><input type="submit" value="计算结果"></td>
    </tr>
    </table>
    </form>
</body>
</html>
登录后复制

result.php

<?php
//总结一句话:
//我们按照正常的思路,应当保证接收数据的时候,$_REQUEST
//[&#39;参数&#39;]要和提交数据的页面给出html元素名字一致,如果不一致,
//则会出现notice提示,同时我们接收的数据就是null等价""
/*
    if($num1==null){
        echo&#39;也没有收到值&#39;;
    }
    if($num1==""){
        echo&#39;也没有值&#39;;
    }
    echo $num1;
*/
    //接收用户从mycal.php(对应静态页面 浏览器提交的数据
    //1.接收num1
    //$_REQUEST 该方法可以接收用户的post 或者get 请求数据
    $num1=$_REQUEST[&#39;num1&#39;];
    //2.接收num2
    $num2=$_REQUEST[&#39;num2&#39;];
    //3.接收运算符
    $oper=$_REQUEST[&#39;oper&#39;];
 
    $res=0;
    switch($oper){
        case "+":
            $res=$num1+$num2;
            break;
        case "-":
            $res=$num1-$num2;
            break;
        case "*":
            $res=$num1*$num2;
            break;
        case "/":
            $res=$num1/$num2;
            break;
        default:
            echo &#39;运算结果不正常&#39;;
 
    }
    echo&#39;接收到.&#39;.$num1."||".$num2."||".$oper."<br/>";
    echo &#39;结果=&#39;.$res ;
?> 
<br/>
<a href="mycal.php">返回计算器页面</a>
登录后复制

我们今天的关于php:简单24点计算器在线24点计算器工具的分享就到这里,谢谢您的阅读,如果想了解更多关于24点纸牌游戏计算器、C语言实现24点游戏计算器的示例代码、php 简单网页计算器的完整代码、php 简单计算器的相关信息,可以在本站进行搜索。

本文标签: