c语言速算24课程设计,C语言速算24数据结构课程设计.docx

课程设计 ( 论文 )

目 名 称

速算 24

程 名 称

数据结构课程设计

生 姓 名

王浩明

0941301253

、专 业

信息工程系、信息类

导 教 师

谢兵

2010年 12 月 22 日

摘要

设计一个简单的速算24 程序,由系统发出4 张扑克牌,输入一个利用扑克

牌的数字及运算符号“ +”,“ - ”,“ * ”,“ / ”,及“(”和“)”组成计算

表达式,系统运行后得出计算结果,如果结果等于24,则显示“”,否则,显

示“”,接着询问是否继续,按字符n 后程序结束,否则系统重复上述步骤。用

栈来解决。

关键词: 速算 24;栈;计算;

Summary

Design a simple speed is 24, the system to make four playing card, enters a playing card number and operation of using the notation "" and "-" and "man", "" and " (" and " ) of the expression, the system to run after the calculation, if the result is 24," "and" "and then asked whether to go on a n after the application or system to repeat steps above. in the stack to solve.

Keywords : speed is 24 ;Stack ; the stack ;

1

目录

1 问题描述3

2 需求分析3

3 概要设计 ,3

3. 1 设计思路3

3. 2 模块划分3

3. 3 流程图4

4 详细设计5

4. 1 数据类型的定义5

4. 2 程序分析5

4. 3 基本程序错误!未定义书签。

5 分析结果...................................................................................................

6 课程设计总结7

参考文献7

2

问题描述

用 C 语言,结构体实现速算 24 的运算,从一副牌中随机发出 4 张扑克,用扑克牌的数字及运算符号“+”、“ - ”、“×”、“ / ”及括号“(”和“)”组成一个计算表达式,从键盘上输入该计算表达式,系统运行后得出计算结果,

如果结果等于 24,则显示 “very good,”否则,显示 “wrong!!! 接”,着询问是否继续,按字符 n 后程序结束,否则系统重复上述步骤。

需求分析

用二维数组 char p[4][13] 存放扑克,用 A 表示 1,0 表示 10,J、Q、K

分别表示 11、12、13。建立两个栈分别存放随机发的四张牌和运算符进行入栈

出栈操作进行速算, 输出计算的值判断如果结果等于 24 则成功若结果不为 24 继续循环操作直到结果为 24 或者输入 n 或 N 终止。

概要设计 ,

3.1 设计思路

(1)首先定义全局变量,引入标准输入与输出函数,建立结构体对速速24

进行相关的操作。

(2)主函数 main,判断栈空,计算机随机发发出四张牌进行入1 栈操作。

(3)利用出栈操作栈1 栈 2 进行运算操作。

(4)运算结果等于 24 结束不等于 24 继续循环直到出现24 或者按 n 或 N

结束。

3.2 模块划分

本程序包括一个模块:

主程序模块,

main( )

{初始化;

定义数据类型;初始化栈;

发牌进行入栈出栈运算操作;}

3

3.3 流程图

开始

发四张牌入栈 1

输入表达式字入栈 2

调用 change 函数将中缀表

达式变后缀表达式

调用计算函数计算表达式

的值返回结果result

YN

结果 ==24

输出结果

输出结果“ very good ”

不输入字符是否继续

输入 N 或 n

结束

4

详细设计

4.1 数据类型的定义

(1)数组类型

#define N 20 #define COL 100 #define ROW 40 #include "stdio.h" #include "time.h"

/* 系统时间函数 */

#include "alloc.h"/* 动态地址分配函数 */

#include "stdlib.h" / * 库函数 * /

#include "string.h" /* 字符串函数 */

#include "ctype.h" /* 字符操作函数 */

(2)栈

Sta

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值