欢迎来到天天文库
浏览记录
ID:13871450
大小:80.50 KB
页数:4页
时间:2018-07-24
《《c语言》程序算法练习题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、完成下列训练题的基本步骤是:1、问题分析及解决方案框架确定充分地分析和理解问题本身,明确问题到底要做什么。(whattodo?)在确定解决问题框架过程中(howtodo?),考虑怎样使程序结构清晰、合理、简单和易于调试,并确定每个函数的简单功能,以及函数之间的调用关系。2、详细设计和编码确定算法的主要流程,在此基础上进行代码设计(coding),一般来讲,每个明确的功能模块程序不超过60行代码,否则,功能要继续分解。3、上机前编写程序与检查上机前检查程序可有效提高调试效率,减少上机调试程序时的无谓错误。程序检查主要有两种途径:用一组测试数据手工执行程
2、序;或者通过阅读或给别人讲解自己的程序而深入、全面地理解程序逻辑,把程序中的明显错误事前排除。4、上机调试程序提供的结果应当包括:算法、数据结构的设计、程序清单1、猜数游戏游戏的开始由机器产生一个随机数(1~100之间,用库函数random()取值),然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示“youranswerisHIGH,tryagain!”否则,程序提示“youranswerisLOW,tryagain!”直到猜对为止。程序可以实现连续猜数,直到游戏者退出。程序输出要求:累计游戏者猜对这个数所需的次数n,当n<=7时,给出“
3、congratulation!”,当715时,用exit(0)库函数退出程序。2、百钱百鸡问题(穷举算法)我国古代数学家张丘建在《算经》中出了一道题“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”注:穷举法是最简单、最常见的一种程序设计方法,它充分利用了计算机处理的高速特性。使用穷举法的关键是确定正确的穷举范围,即不能过分扩大,也不能过分缩小穷举的范围。3、请编写一个程序,计算表达式:data1opdata2的值。其中,op为运算
4、符+、-、*、/、%。4、打印所有的水仙花数5、编写一个程序,实现将输入的一个无符号整数转换为二进制和八进制表示,分别存入字符数组中并输出。(提示:算法采用模拟人工法)注:计算机模拟人功法是编程中常用的算法,这种方法要求编程者首先分析在人工方式下解决问题的过程,从中找出步骤和规律,然后编写程序,按照人工解决问题的步骤和规律进行操作。6、判断一个数是否是数组中的成员(用二分查找法)已知数组a中一共有10个已经排好序的整数(由小到大排序)。现在从键盘上输入一个数,判断这个数是否是数组a中的数,如果是的话,打印出此数在数组a中的位置,否则打印“can’tf
5、ind!”。提示:①设待查找的数为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、有一行字符,要求将其中每个单词中的第一个字
6、母改成大写字母(如果原来已是大写字母则不变)。9、设计一个函数,要求删去指定文字行中的某个字符。此行文字和要删去的字符均由键盘在主函数中输入。删去之后的文字行也要求在主函数中输出。10、将螺旋方阵存放到n×n的二维数组中并把它打印输出。要求由程序自动生成如下图所示的螺旋方阵(而不是人为地初始化或逐个赋值)。n由程序读入。11、请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。(数组维数用宏定义)12、矩阵乘法(数值求解算法)编写一个函数,实现矩阵A(2行3列)与矩阵B(3行2列)相乘,乘积放在C数组
7、中。在主函数中定义矩阵A和矩阵B,并输出结果。13、求所有不超过200的N值,N的平方是具有对称性质的回文数。回文数就是将一个数从左往右读都是一样的,如:满足题意要求的数有:N=11,11的平方为121,121为一个回文数。14、计算分数的精确值使用数组精确计算m/n(08、,即每次求出商的一位后,将余数乘以10,再计算商的下一位。若某次余数为0,则为有限不循环小数。若某次计算后的
8、,即每次求出商的一位后,将余数乘以10,再计算商的下一位。若某次余数为0,则为有限不循环小数。若某次计算后的
此文档下载收益归作者所有