《C语言》程序算法练习题.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
完成下列训练题的基本步骤是: 问题分析及解决方案框架确定 充分地分析和理解问题本身,明确问题到底要做什么。(what to do?) 在确定解决问题框架过程中(how to do?),考虑怎样使程序结构清晰、合理、简单和易于调试,并确定每个函数的简单功能,以及函数之间的调用关系。 详细设计和编码 确定算法的主要流程,在此基础上进行代码设计(coding),一般来讲,每个明确的功能模块程序不超过60行代码,否则,功能要继续分解。 上机前编写程序与检查 上机前检查程序可有效提高调试效率,减少上机调试程序时的无谓错误。 程序检查主要有两种途径:用一组测试数据手工执行程序;或者通过阅读或给别人讲解自己的程序而深入、全面地理解程序逻辑,把程序中的明显错误事前排除。 4、上机调试程序 提供的结果应当包括: 算法、数据结构的设计、程序清单 1、猜数游戏 游戏的开始由机器产生一个随机数(1~100之间,用库函数random()取值),然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示“your answer is HIGH,try again!”否则,程序提示“your answer is LOW,try again!”直到猜对为止。程序可以实现连续猜数,直到游戏者退出。 程序输出要求:累计游戏者猜对这个数所需的次数n,当n=7时,给出“congratulation!”,当7n15时,给出“I believe you can do it better!”;当n15时,用exit(0)库函数退出程序。 2、百钱百鸡问题(穷举算法) 我国古代数学家张丘建在《算经》中出了一道题“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?” 注:穷举法是最简单、最常见的一种程序设计方法,它充分利用了计算机处理的高速特性。使用穷举法的关键是确定正确的穷举范围,即不能过分扩大,也不能过分缩小穷举的范围。 3、请编写一个程序,计算表达式:data1 op data2的值。其中,op为运算符+、-、*、/、%。 4、打印所有的水仙花数 5、编写一个程序,实现将输入的一个无符号整数转换为二进制和八进制表示,分别存入字符数组中并输出。(提示:算法采用模拟人工法) 注:计算机模拟人功法是编程中常用的算法,这种方法要求编程者首先分析在人工方式下解决问题的过程,从中找出步骤和规律,然后编写程序,按照人工解决问题的步骤和规律进行操作。 6、判断一个数是否是数组中的成员(用二分查找法) 已知数组a中一共有10个已经排好序的整数(由小到大排序)。现在从键盘上输入一个数,判断这个数是否是数组a中的数,如果是的话,打印出此数在数组a中的位置,否则打印“can’t find!”。 提示:①设待查找的数为x,设置三个位置变量l、m、h分别代表查找范围的顶部、中间位置和底部,m=(l+h)/2,把数组分成a[m]为中点的两段范围。②判断x是否等于a[m],若是,则找到。③若大于a[m],则x必定在后半段范围,即在a[m+1]到a[h],则舍弃前半段,再在后半段重新划分两段范围,定出l、m、h,重复以上步骤,逐步缩小查找范围。 7、位数大小排序(掌握数值排序算法) 输入一个五位整数,对此整数中的五个数值进行从大到小的顺序排序,形成一个新的五位整数,并输出这个整数。 要求:用函数调用 8、有一行字符,要求将其中每个单词中的第一个字母改成大写字母(如果原来已是大写字母则不变)。 9、设计一个函数,要求删去指定文字行中的某个字符。此行文字和要删去的字符均由键盘在主函数中输入。删去之后的文字行也要求在主函数中输出。 10、将螺旋方阵存放到n×n的二维数组中并把它打印输出。要求由程序自动生成如下图所示的螺旋方阵(而不是人为地初始化或逐个赋值)。n由程序读入。 11、请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。(数组维数用宏定义) 12、矩阵乘法(数值求解算法) 编写一个函数,实现矩阵A(2行3列)与矩阵B(3行2列)相乘,乘积放在C数组中。在主函数中定义矩阵A和矩阵B,并输出结果。 13、求所有不超过200的N值,N的平方是具有对称性质的回文数。回文数就是将一个数从左往右读都是一样的,如:满足题意要求的数有:N=11,11的平方为121,121为一个回文数。 14、计算分数的精确值 使用数组精确计算m/n(0mn=100)的值,如果m/n是无限循环小数,则计算并输出它的第一循环节,同时要求输出循环节的起始位置(小数位的序号) 由于计算机内字长有限,常规的浮点运算都有精度限制,为了得到

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档