c语言编程题,计算二十四点 随机生成四个1~10的数字,使用加减乘除运算,计算24.输出这四个数字是否能计算

如题所述

最随机数1-10 赋值A,最随机数1-赋值B,共赋值ABCD,叛断,赋值A等于BCD,则重取随机数,然后叛断用ABCD相加或减等于24,等则输出,不等于则重取。

#include "stdlib.h"

#include "stdio.h"

} NODE24;

NODE24 head;int res=24;int maketree(int *src,int *i, NODE24 *p)

{

int d=src[*i];

(*i)++;

case '/':

p->left=new NODE24;

p->right=new NODE24;

p->left=NULL;

p->right=NULL;

扩展资料:

随机数是专门的随机试验的结果。

在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。

产生随机数有多种不同的方法。这些方法被称为随机数生成器。随机数最重要的特性是它在产生时后面的那个数与前面的那个数毫无关系。

参考资料来源:百度百科-随机数

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-04
很简单呀。最随机数1-10 赋值A,最随机数1-赋值B,。。。。共赋值ABCD,叛断,赋值A等于BCD,则重取随机数,然后叛断用ABCD相加或减等于24,等则输出。不等于则重取本回答被网友采纳
第2个回答  2012-12-26
#include <stdio.h>
#include <string.h>
int c24;
char expr3[80];
char expr4[80];
void count2( int a, int b )
{
if ( a + b == 24 )
{
c24 ++;
printf( "%s\t%s\t%d+%d=24\n", expr4, expr3, a, b );
}
if ( a * b == 24 )
{
c24 ++;
printf( "%s\t%s\t%d+%d=24\n", expr4, expr3, a, b );
}
if ( a * b == 24 )
{
c24 ++;
printf( "%s\t%s\t%d*%d=24\n", expr4, expr3, a, b );
}
if ( a - b == 24 )
{
c24 ++;
printf( "%s\t%s\t%d-%d=24\n", expr4, expr3, a, b );
}
if ( b - a == 24 )
{
c24 ++;
printf( "%s\t%s\t%d-%d=24\n", expr4, expr3, b, a );
}
if ( (b!=0) && (a==24*b) )
{
c24 ++;
printf( "%s\t%s\t%d/%d=24\n", expr4, expr3, a, b );
}
if ( (a!=0) && (b==24*a) )
{
c24 ++;
printf( "%s\t%s\t%d/%d=24\n", expr4, expr3, b, a );
}
}
void count3( int a, int b, int c )
{
int dd[3];
int i,j,k,nd;
dd[0] = a;
dd[1] = b;
dd[2] = c;
for ( i = 0; i < 3; i++ )
for ( j = i+1; j < 3; j++ )
{
k = 3 - i - j;
nd = dd[i] + dd[j];
sprintf( expr3, "%d+%d=%d", dd[i], dd[j], nd );
count2( nd, dd[k] );
nd = dd[i] * dd[j];
sprintf( expr3, "%d*%d=%d", dd[i], dd[j], nd );
count2( nd, dd[k] );
if ( dd[i]>dd[j] )
{
nd = dd[i] - dd[j];
sprintf( expr3, "%d-%d=%d", dd[i], dd[j], nd );
}
else
{
nd = dd[j] - dd[i];
sprintf( expr3, "%d-%d=%d", dd[j], dd[i], nd );
}
count2( nd, dd[k] );
if ( (dd[j]!=0) && (dd[i]%dd[j]==0) )
{
nd = dd[i] / dd[j];
sprintf( expr3, "%d/%d=%d", dd[i], dd[j], nd );
count2( nd, dd[k] );
}
else if ( (dd[i]!=0) && (dd[j]%dd[i]==0) )
{
nd = dd[j] / dd[i];
sprintf( expr3, "%d/%d=%d", dd[j], dd[i], nd );
count2( nd, dd[k] );
}
}
}
void count4( int a, int b, int c, int d )
{
int dd[4];
int i,j,k,m,nd; dd[0] = a;
dd[1] = b;
dd[2] = c;
dd[3] = d;
for ( i = 0; i < 4; i++ )
for ( j = i+1; j < 4; j++ )
{
for ( k = 0; (k==i) || (k==j); k++ ) ;
m = 6 - i - j - k;
nd = dd[i] + dd[j];
sprintf( expr4, "%d+%d=%d", dd[i], dd[j], nd );
count3( nd, dd[k], dd[m] );
nd = dd[i] * dd[j];
sprintf( expr4, "%d*%d=%d", dd[i], dd[j], nd );
count3( nd, dd[k], dd[m] );
if ( dd[i]>dd[j] )
{
nd = dd[i] - dd[j];
sprintf( expr4, "%d-%d=%d", dd[i], dd[j], nd );
}
else
{
nd = dd[j] - dd[i];
sprintf( expr4, "%d-%d=%d", dd[j], dd[i], nd );
}
count3( nd, dd[k], dd[m] );
if ( (dd[j]!=0) && (dd[i]%dd[j]==0) )
{
nd = dd[j] / dd[i];
sprintf( expr4, "%d/%d=%d", dd[j], dd[i], nd );
count3( nd, dd[k], dd[m] );
}
}
}
main()
{
int a,b,c,d;
printf( "Input 4 Number for Count 24: " );
scanf( "%d%d%d%d", &a, &b, &c, &d );
c24 = 0;
count4( a, b, c, d );
if ( c24==0 )
printf( "=======failed======\n" ); /***/
printf("End of C Program, Press Enter.\n");
getchar();
getchar();
return 0;
}本回答被提问者采纳
第3个回答  2011-06-29
什么意思,我不懂

c语言编程题,计算二十四点 随机生成四个1~10的数字,使用加减乘除运算...
最随机数1-10 赋值A,最随机数1-赋值B,共赋值ABCD,叛断,赋值A等于BCD,则重取随机数,然后叛断用ABCD相加或减等于24,等则输出,不等于则重取。include "stdlib.h"include "stdio.h"} NODE24;NODE24 head;int res=24;int maketree(int *src,int *i, NODE24 *p){ int d=src[*i];...

...自然数,将这四个数(每个用一次)进行加减乘除运算,
(10+-6+4)×3=24

有一种“二十四点”的游戏,其游戏规则是这样的:任取四个1至13之间的...
(1)3-(-5)+7-(-9)=24;(2)10-4-3×(-6)=24;(3)4-(-6)÷3×10=24;(4)3×(4-6+10)=24.

有一种“二十四点“的游戏,其游戏规则是这样的:任取四个1至10之间的...
∵(10-4)×3+6=24,∴答案可以为:(10-4)×3+6(答案不唯一).故答案为:(10-4)×3+6(答案不唯一).

有一种“二十四点”的游戏,其游戏规则是这样的:任取四个1~13之间的自...
-3*-6+10-4=24 -6÷-3 *10+4=24 -3*-(4+10-6)=24

如何用C语言编程"输入4个数,通过加减乘除计算出24,显示计算过程,并提 ...
include "stdlib.h"include "stdio.h"include "string.h" typedef struct D_NODE { int data;struct D_NODE *left,*right;} NODE24;NODE24 head;int res=24;int maketree(int *src,int *i, NODE24 *p){ int d=src[*i];(*i)++;switch (d){ case '+':case '-':case ...

有一种“二十四点”的游戏,其游戏规则是这样的:任取四个1至13之间的...
3,4,-6,10 3*(10-4)-(-6)=24 3*[10+(-6)+4]=24 4-10*(-6)\/3=24 (10-4)-3*(-6)=24 3,-3,8,-8 3! *(-(-3-8\/8))=24

有一种“二十四点”的游戏,其游戏规则是这样的:任取四个1~13之间的自...
3,4,-6,10(写三个)3*(4-6+10)(3*(10-4))-(-6)(10-(-6*3))-4 3,-5,7,-13(写一个)((-13)*(-5)+7)\/3

"二十四点"游戏:将3,4,-6,10四个数进行加减乘除四则运算,使其结果等于...
20: 3 × ((10 + 4) - 6)21: 3 × (10 + (4 - 6))22: (3 × (10 - 4)) + 6 23: 3 × (10 - 4) + 6 24: 3 × (10 - 6 + 4)25: 3 × ((10 - 6) + 4)26: 3 × (10 - (6 - 4))27: 4 + 6 ÷ 3 × 10 28: 4 + (6 ÷ 3) × 10 29...

有一种“二十四点”的游戏,其游戏规则是这样的:任取四个1~13之间的...
2+[10-﹙-8-4﹚]20.[10+﹙4+2﹚]--8 21.[10-﹙-8-4﹚]+2 22.10+[2+﹙4--8﹚]23.[﹙-8÷2﹚+10]×4 24.2+[10+﹙4--8﹚]25.﹙10+2﹚+﹙4--8﹚26.[﹙2×10﹚-4]--8 27.[﹙4+10﹚--8]+2 28.4×[10+﹙-8÷2﹚]29.﹙10+4﹚-...

相似回答