《C语言程序设计》课程设计任务及指导书(3)

2018-12-05 13:31

实现字符串的以下操作: strcpy(s1,s2) 复制字符串

strncpy(s1, s2, n) 复制指定长度字符串 strcat(s1, s2) 附加字符串

strncat(s1, s2, n) 附加指定长度字符串 strlen(s) 求字符串长度 strcmp(s1, s2) 比较字符串

strcasecmp(s1, s2)忽略大小写比较字符串 strncmp(s1, s2, n) 比较指定长度字符串 strchr(s, c) 在字符串中查找指定字符 strstr(s1, s2) 查找子字符串

strlwr(s) 将字符串中大写字母转换为小写字母 strupr(s) 将字符串中小写字母转换为大写字母 三、算法提示:

1、数据结构:字符数组、指针 2、用简单的程序设计方法 四、测试数据:

在main函数中调用各种操作,显示操作结果。测试数据应尽可能体现各种操作结果。

设计内容十一 猜数字游戏

一、问题描述:

该游戏可以由程序随机产生四个0到9之间的数字,且不重复。玩游戏者通过游戏提示输入八次来匹配上面所输入的数字。A表示位置正确且数字正确,B表示数字正确而位置不正确。 二、功能要求:

1、本游戏显示这样的菜单:

(1) 随机产生数据 (2) 用户输入数据 (3) 退出游戏

2、游戏成功与否都能返回主菜单 三、算法提示:

1、数据结构:数组 2、用简单的程序设计方法 四、测试数据:

测试数据: 3792 第一次输入: 1234

0A2B

第二次输入: 5678 0A1B 第三次输入: 0867 0A1B 第四次输入: 9786 1A1B 第五次输入: 1794 2A0B 第六次输入: 2793 2A2B 第七次输入: 3792 4A0B 游戏成功!!!

五、其它:

对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能,如:破记录功能,若你所匹配的次数小于纪录保持者,则为破纪录。

设计内容十二 求解八皇后问题

一、问题描述:

八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种

摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。

二、要求:

编写程序对八皇后问题进行求解:

在8行8列的棋盘上放置8个皇后,使任一个皇后都不能吃掉其他的7个皇后(注:皇后可吃掉与她处于同行或同列或同一对角线上的其他棋子),并将结果以图形方式显示出来。(最好能绘出所有92种情况)

例如,当求出下述的一个解(1,1) (2,5) (3,8) (4,6) (5,3) (6,7) (7,2) (8,4)时,画出如下图:

三、算法提示:

(1) 通过“int LineNum[9]; bool a[9], b[15], c[15];”说明具有全局作用域的4个数组。其中的:

LineNum[i]表示第i列的皇后要放的行位置(只用其中的列号1到8); a[i]为true(i =1,2,?,8)表示第i行上尚未放皇后;

b[i]为true(i =0,1,2,?,14)表示第i条斜对角线上尚未放皇后(斜对角线指的是“/”状对角线,该对角线上各点的行列号之和i+j为一个常数);

c[i]为true(i=0,1,2,?,14)表示第i条反斜对角线上尚未放皇后(反斜对角线指的是“\\”状对角线,该对角线上各点的行列号之差i-j为一个常数)。

从而当使用语句“if ( a[j] && b[i+j-2] && c[i-j+7] ) LineNum[i]=j;”时,可用于判断并实现:如果在第j行的第i列上放置皇后安全的话,则将一枚皇后放置到那儿。

(2)编制一个具有如下原型的递归函数solve,它负责往第i列开始的连续8-i+1列上均放上皇后,若成功则通过引用参数ok返回true(否则返回false)。

void solve(int i, bool& ok);

摆放皇后之后,若i=8即已放满时则递归出口;否则通过solve(i+1,ok);进行递归调用。

(3)编制主函数,首先初始化一个“空棋盘”,即将a、b、c数组的各元素均置为true(表示当前棋盘的8个行、15条斜对角线以及15条反斜对角线上都尚未摆放皇后)。而后执行调用语句“solve(1, ok);”,它负责往第1列开始的连续8列上均放上皇后,若成功则通过引用参数ok返回true(否则返回false)。

设计内容其他选题:

十三、实现带有括号的四则运算 十四、二十一点游戏 十五、模拟计算器程序 十六、贪吃蛇 十七、五子棋 十八、俄罗斯方块 十九、迷宫游戏 二十、魔方阵

六、 工作要求

利用学到的编程知识和编程技巧,要求学生:

1、对系统进行功能模块分析、控制模块分析正确 2、系统设计要能完成题目所要求的功能。

3、编程简练,可用,尽可能地使系统的功能更加完善和全面 4、按要求撰写课程设计报告。 5、特别要求自己独立完成。 课程设计报告的内容及要求:

《C语言程序设计》课程设计说明书封面(见最后) 一、课程设计目的 二、课程设计内容

1、课程设计的题目及简介 2、设计说明 3、程序流程图

4、程序清单(源程序要多加注释) 5、运行结果(界面截图) 三、课程设计总结 四、参考文献

(注:课程设计报告统一使用A4大小的复印纸打印,不得使用其他纸张)

注意事项:

1. 以上要求为一般的要求,针对具体问题和具体的开发过程,某些方面可以做适当的增减。

2. 各种文档资料要在程序开发过程中逐渐形成,而不是最后补写(但不排斥最后誉清)。

3. 各种文档要用Word及其它文字编辑软件排版后打印输出。 4. 任务完成时报告老师,上机验收运行结果,现场提问验收。


《C语言程序设计》课程设计任务及指导书(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:MIT一牛人对数学在机器学习中的作用给的评述(精)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: