大学C程序设计(第四版 谭洪强)实验9 参考答案.docVIP

大学C程序设计(第四版 谭洪强)实验9 参考答案.doc

  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文档。上传文档
查看更多
整理版 整理版 . . 整理版 . 实验九 参考答案(指针) 三、实验内容( 按要求完善或设计以下程序,并调试分析运行结果) 1. 程序填空题 给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。 例如,输入一个数新的数:为739。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 【解题思路】 第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10。 第二处:判断是否是奇数,所以应填:0。 第三处:最后通形参n来返回新数x,所以应填:x。 2. 程序改错题 给定程序MODI9-1.C中函数fun的功能是: 计算n的5次方的值(规定n的值大于2、小于8),通过形参指针传回主函数;并计算该值的个位、十位、百位上数字之和作为函数值返回。 例如,7的5次方是16807, 其低3位数的和值是15。 【解题思路】 第一处:变量d的初始值应为1。 第二处:整除的符号是 /。 3. 程序设计题 请编写函数fun,它的功能是:求出能整除形参x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 例如,若 x 中的值为: 35,则有 4 个数符合要求,它们是: 1, 5, 7, 35。 【解题思路】 本题是求出能整除形参x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 【参考答案】 void fun ( int x, int pp[], int *n ) { int i; *n=0; for(i=1; i = x; i++) if((x % i== 0) (i % 2)) pp[(*n)++]=i; } 4. 程序填空题 给定程序中,函数fun的功能是:找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。 【参考答案】 第一处:把每列的第1值赋值给b[i],所以应填:a[0][i]。 第二处:如果b[i]值小于a[j][i]的值,则把a[j][i]重新赋值给b[i]中,保存最大的值,所以应填:。 第三处:在主函数中,x是存放矩阵数据,y是存放每列的最大值,所以应填:x,y。 5. 程序改错题 给定程序MODI9-2.C中函数fun的功能是:根据形参m的值(2≤m≤9〕,在m行m列的二维数组中存放如下所示规律的数据,由main函数输出。例如,若输入2,则输出:,若输入4,则输出: 【解题思路】 第一处:在函数体fun中可知,a是一个字符串数组型变量,所以应改为:fun(int a[][M], int m)。 第二处:根据输出的结果可知,应改为:a[j][k]=(k+1)*(j+1);。 6. 程序设计题 请编写一个函数 fun (int *a,int n,int *odd,int *even),函数的功能是分别求出数组 a 中所有奇数之和以及所有偶数之和。形参 n 给出数组元素的个数,整型指针 odd 返回偶数之和,even 返回奇数之和。 例如:a 数组中各数组元素的值依次为:1,9,2,3,11,6,则调用函数 fun后,指针 odd 返回偶数之和 8,even 返回奇数之和 24。 【解题思路】 用 for 循环语句依次判断整型数组中的每一个数组元素是偶数还是奇数,判断偶数和奇数只需将数组元素与 2 取模,结果为 0 的数是偶数,为 1 的是奇数。如果是偶数,则把该数加到*odd 中;是奇数,加到*even 中。 【参考答案】 fun ( int *a, int n, int *odd, int *even ) { int i; *odd = * even = 0; for ( i = 0; i n;i ++ ) if (a[i] % 2 == 0) /*用 if(a[i]%2==0)来判断是否是偶数*/ *odd += a[i]; /*计算所有偶数之和并将计算后的结果赋给*odd*/ else *even += a[i]; /*计算所有奇数之和并将计算后的结果赋给*even*/ } 7. 程序填空题 下列给定程序中,函数 fun()的作用是:将字符串 tt 中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入Ab,cD,则输出ab,cd。 【参考答案】第一处:* 第二处:Z 第三处:tt 8. 程序改错题 给定程序 MODI9-3.C 中,函数 fun 的功能是:从 N 个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字

文档评论(0)

润哈哈 + 关注
官方认证
文档贡献者

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

认证主体 广州乾星科技有限公司
IP属地广东
统一社会信用代码/组织机构代码
91440101MA5B6X8T7Y

1亿VIP精品文档

相关文档