数据结构课程设计18二十四点游戏2

一、课程设计概述:

人工输入是个1—9的数字。计算机输出所有的算法。并输出计算机运算出这些算法索花费

的时间。

使用语言:C++

编译环境:TC3.0 / VC6.0

二、课程设计题目一

[实验内容]

计算四个数如何变成二十四的所有算法

[问题描述]

输入四个数、给出能算成二十四的所有算式。

并输出程序计算这些算式所用的时间。

[需求分析]

1、输出能算出二十四点的所有算法

2、输出运算时间

3、界面美观 void count4( int a, int b, int c, int d )

//计算第一步

void count3( int a, int b, int c )

//计算第二步

void count2( int a, int b )

//计算第三步

[存储结构]

随机存储、

[流程图]

[详细设计]

#include

#include

#include

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 )

}

void count4( int a, int b, int c, int d )

{

int dd[4]; int dd[3]; int i,j,k,nd; dd[0] = a; dd[1] = b; dd[2] = c; for ( i = 0; 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]; count2( nd, dd[k] ); sprintf( expr3, " %d/%d=%d ", dd[j], dd[i], nd );

dd[0] = a; dd[1] = b; dd[2] = c; dd[3] = d; } for ( i = 0; 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] );

}

int main()

{

printf("||=================================================||\n"); printf("||===================二十四点算法==================||\n"); printf("|| ||\n"); printf("|| 请输入您要计算的四个数 ||\n"); printf("|| ||\n"); printf("||=================================================||\n"); struct tm sttime,fitime;

int a[4],i=0,x; do { printf("|| ||\n"); } printf("|| 第%d个数:",i+1); scanf("%d", &a[i]); if(a[i]9) { } i=-1; printf("|| 输入数字有误、请重新输入\n"); i++; while(i

}

printf("程序结束、按回车键\n"); getchar(); getchar(); _getsystime(&fitime); printf("开始运行时间: %d:%d\n",sttime.tm_min,sttime.tm_sec); printf("结束运行时间:%d:%d\n",fitime.tm_min,fitime.tm_sec); return 0;

[调试分析]

本程序主要是考虑如何用写成四个数字算出二十四点的算法、还有如何输出计算时间、 问题:

现象:输出的时间不知道是分是秒更或是其他、

原因:对C语言中很多内部函数不明白。

三、参考文献:

[1].《C程序设计》第二版,谭浩强著。北京:清华大学出版社,2004年。

[2].《数据结构》 严蔚敏、吴伟民。北京:清华大学出版社,2005年。

C++面向对象程序设计 谭浩强。 北京:清华大学出版社,2005年。

一、课程设计概述:

人工输入是个1—9的数字。计算机输出所有的算法。并输出计算机运算出这些算法索花费

的时间。

使用语言:C++

编译环境:TC3.0 / VC6.0

二、课程设计题目一

[实验内容]

计算四个数如何变成二十四的所有算法

[问题描述]

输入四个数、给出能算成二十四的所有算式。

并输出程序计算这些算式所用的时间。

[需求分析]

1、输出能算出二十四点的所有算法

2、输出运算时间

3、界面美观 void count4( int a, int b, int c, int d )

//计算第一步

void count3( int a, int b, int c )

//计算第二步

void count2( int a, int b )

//计算第三步

[存储结构]

随机存储、

[流程图]

[详细设计]

#include

#include

#include

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 )

}

void count4( int a, int b, int c, int d )

{

int dd[4]; int dd[3]; int i,j,k,nd; dd[0] = a; dd[1] = b; dd[2] = c; for ( i = 0; 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]; count2( nd, dd[k] ); sprintf( expr3, " %d/%d=%d ", dd[j], dd[i], nd );

dd[0] = a; dd[1] = b; dd[2] = c; dd[3] = d; } for ( i = 0; 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] );

}

int main()

{

printf("||=================================================||\n"); printf("||===================二十四点算法==================||\n"); printf("|| ||\n"); printf("|| 请输入您要计算的四个数 ||\n"); printf("|| ||\n"); printf("||=================================================||\n"); struct tm sttime,fitime;

int a[4],i=0,x; do { printf("|| ||\n"); } printf("|| 第%d个数:",i+1); scanf("%d", &a[i]); if(a[i]9) { } i=-1; printf("|| 输入数字有误、请重新输入\n"); i++; while(i

}

printf("程序结束、按回车键\n"); getchar(); getchar(); _getsystime(&fitime); printf("开始运行时间: %d:%d\n",sttime.tm_min,sttime.tm_sec); printf("结束运行时间:%d:%d\n",fitime.tm_min,fitime.tm_sec); return 0;

[调试分析]

本程序主要是考虑如何用写成四个数字算出二十四点的算法、还有如何输出计算时间、 问题:

现象:输出的时间不知道是分是秒更或是其他、

原因:对C语言中很多内部函数不明白。

三、参考文献:

[1].《C程序设计》第二版,谭浩强著。北京:清华大学出版社,2004年。

[2].《数据结构》 严蔚敏、吴伟民。北京:清华大学出版社,2005年。

C++面向对象程序设计 谭浩强。 北京:清华大学出版社,2005年。


相关文章

  • 幼儿游戏说课稿
  • <幼儿游戏>说课稿 一.课程说课 (一)课程设置 1.课程性质 <幼儿游戏>是高职高专学前教育专业开设的一门专业基础必修课程,是实现高职高专学前教育专业培养目标的专业核心课程.它全面.系统.科学地阐述了学前儿童游戏的 ...查看


  • 幼儿园课程教案大班
  • 篇一:幼儿园课程教案 幼儿园课程教案:十二生肖 活动目标: 1.认识">"和"<",理解不等式的含义,理解大小的相对性.. 2.学习把不等式转变为等式. 3.培养幼儿思维的灵活性和可逆性, ...查看


  • 电大幼儿园课程与活动设计作业
  • 幼儿课程与活动设计 作业1 一.名词解释 1. 幼儿园课程 幼儿园课程的定义是:影响幼儿的所有与幼儿园有观的经验,具体表现为帮助幼儿获得有益的学习经验.促进其身心全面和谐发展的各种教育活动的总和 2. 幼儿园游戏活动 游戏活动是儿童自主自愿 ...查看


  • 21点纸牌游戏_C++课程设计报告
  • 郑州轻工业学院 课程设计报告 课程设计名称: 21点纸牌游戏 课 程 名 称: 面向对象程序设计(C++) 姓 名: 谢先斌 院 (系): 计算机与通信工程学院 专业班级: 计算机10-1 学 号: [1**********]4 指导教师: ...查看


  • 游戏专业课程
  • 游戏专业课程 一.游戏课程分类 游戏开发基础:游戏策划基础.游戏架构设计 游戏美术基础:游戏造型基础.游戏色彩基础 3D网络游戏美术制作:游戏道具制作.游戏环境制作.游戏角色制作 次世代网络游戏美术制作:游戏动画设计.游戏特效设计.次世代游 ...查看


  • 幼儿园课程与活动设计
  • <幼儿园课程与活动设计>形考作业 单项选择题 课程即教学科目,这种课程定义( C ). A.认为教育目标的选择和制定成为核心任务 B.把学生的直接经验置于课程的中心位置 C.有利于课程内容的系统化选择及组织 D.强调教师与学生彼 ...查看


  • [游戏策划编写]教学大纲
  • <游戏策划编写>课程教学大纲 制定人: (教研组组长) (参与) 审核人: (专业部主任) (教务科科长) 批准人: (分管校领导) 一.说 明 1.课程的性质和内容: 游戏策划书的内容很多很杂 ,它首先包括了制作这个游戏的意义 ...查看


  • 软件实习总结报告
  • ********** --约瑟夫环游戏 总结报告 学生姓名:高娃 学 号:11071202 专业班级:计算机11-2 指导教师:李晓旭 宫法明 2012年7月14日 专业实习报告 摘 要 游戏自人类出现以后便日渐完善.进入20世纪后,人类进 ...查看


  • 幼儿园课程论基础知识点
  • 一.基础知识点: 1.张宗麟认为,"幼稚园课程者,由广义的说之,乃幼稚生在幼稚园一切之活动也."他对幼儿园课程的定义是从课程即经验的维度来下的. 2.按照课程的表现形态划分,课程可以划分为显性课程与隐性课程这两种在性质和 ...查看


  • 12教育游戏中游戏任务设计的原则与方法
  • DISTANCEEDUCATIONJOURNAL Technologyapplication 教育游戏中游戏任务设计的原则与方法 高淮微 (广西师范大学教育科学学院,广西桂林541004) 不同领域[摘要]本文主要阐述了教育游戏中游戏任务设 ...查看


热门内容