1、 1 C 语言课程设计报告语言课程设计报告 赋值进行排列方法 题题 目:目: 计算计算 2424 游戏游戏 设设 计计 者者: 专业班级:通信专业班级:通信 12041204 班班 学学 号:号: 指导教师:指导教师: 所属系部:所属系部: 计算机学院计算机学院 2013 年 7 月 5 日 2 目录目录 1 1 设计任务书设计任务书.3 1.1 1.1 题目与要求题目与要求.3 1.2 1.2 本系统涉及的知识点本系统涉及的知识点.3 2 2 功能设计功能设计.3 2.1 2.1 算法设计算法设计.3 2.2 2.2 部分模块流程图部分模块流程图.3 3 3 程序代码设计程序代码设计6 3.
2、13.1 输入模块输入模块6 3.23.2 输出模块输出模块6 4 C4 C 程序设计总结程序设计总结.12 4.14.1 程序调试情况程序调试情况.12 4.24.2 本人在程序设计中感想本人在程序设计中感想.12 5 5 参考文献参考文献1313 3 1 1 设计任务书设计任务书 1.1 1.1 题目与要求题目与要求 本人计划编写一个计算 24 游戏系统,设计并实现 24 点游戏,满足以下基本 要求: 在输入 4 个数后,程序对这个 4 个数进行运算,若能计算出结果等于 24, 即输出运算过程。接到题目的时候,手上并无其他资料,需要自己全动手设计才 能到达目标,而目标是在输入四个数之后,先
3、进行全排列,然后进行全运算,从 而最终得到结果以输出。 1.2 1.2 本系统涉及的知识点本系统涉及的知识点 关系运算、赋值、数组结构、循环、函数 2 2 功能设计功能设计 2.1 2.1 算法设计算法设计 本系统需要实现的功能要求: 设计如图所示的主菜单: 请输入选项编号(16) 1 输入四个整数 2 赋值进行排列方法 3 在排列方法中进行运算 4 判断 5 输 出 6 退 出 2.2 2.2 程程序流程图序流程图 4 开始 输入4个数 赋值进行排列方法 在排列方法中运算 判断运算是 否等于 24 输出运算式 是 结束 5 3 3 程序代码设计程序代码设计 3.13.1 输入模块输入模块 v
4、oid main() float a,b,c,d; A: printf(“请输入 4 个整数:n“); scanf(“%f,%f,%f,%f“, printf(“运算结果如下:n“); pailie(a,b,c,d); printf(“n“); goto A; 3.23.2 输出模块输出模块 #include void jisuan(float a,float b,float c,float d) /进行运算符和括号的排列及计算 if(a+b+c+d=24) printf(“%1.0f+%1.0f+%1.0f+%1.0f=24n“,a,b,c,d); if(a+b+c-d=24) printf
5、(“%1.0f+%1.0f+%1.0f-%1.0f=24n“,a,b,c,d); if(a+b+c*d=24) printf(“%1.0f+%1.0f+%1.0f*%1.0f=24n“,a,b,c,d); if(a+(b+c)*d=24) printf(“%1.0f+(%1.0f+%1.0f)*%1.0f=24n“,a,b,c,d); if(a+b+c)*d=24) printf(“(%1.0f+%1.0f+%1.0f)*%1.0f=24n“,a,b,c,d); if(a+b+c/d=24) printf(“%1.0f+%1.0f+%1.0f/%1.0f=24n“,a,b,c,d); if(a
6、+(b+c)/d=24) printf(“%1.0f+(%1.0f+%1.0f)/%1.0f=24n“,a,b,c,d); if(a+b+c)/d=24) printf(“(%1.0f+%1.0f+%1.0f)/%1.0f=24n“,a,b,c,d); if(a+b-c+d=24) printf(“%1.0f+%1.0f-%1.0f+%1.0f=24n“,a,b,c,d); if(a+b-c-d=24) printf(“%1.0f+%1.0f-%1.0f-%1.0f=24n“,a,b,c,d); if(a+b-c*d=24) printf(“%1.0f+%1.0f-%1.0f*%1.0f=24n“,a,b,c,d); if(a+(b-c)*d=24) printf(“%1.0f+(%1.0f-%1.0f)*%1.0f=24n“,a,b,c,d); if(a+b-c)*