第四章参考答案.doc_第1页
第四章参考答案.doc_第2页
第四章参考答案.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

参考答案:1选择题:1-5 CBDD D 6-10 ADCCB 11-15 CAC CC 16-20 DACCA2填空题:(1)12 (2)-850,2,0 (3)k=p,k (4)357 (5)2(6)25 (7)30 (8)a*b*c*d* (9)5 3 3 5 (10)123343编程题第1题【分析与解答】(1) 对于字符的输入要使用while循环,只是要注意,循环的终止条件是:等于n。(2) 在while循环体中,用if条件来判断是否为数字字符,若是,就使对应的元素增1;if中的条件表达式可用C的库函数:isdigit(ch),这时要在程序前加:#include行;也可用:ch=0&ch=0 & ch=9) numch-0+; scanf(%c,&ch);for(i=0; i=0.0 & a=100 & n1000;当输入的数不在0到100之间,或者输入的成绩个数超过1000个,则停止输入;(2)在while循环内,将输入的数累加到sum中,同时赋给数组元素xn;(3)求出平均值,ave= sum/n;(4)使用for循环for (i=0;in;i+) if(xi=0.0 & a=100 & n1000) sum+=a;xn=a; n+;scanf(%f,&a); ave= sum/n; printf(Output:n); printf(ave=%fn,ave); for (i=0;in;i+) if(xiave) printf (%fn,xi); 第3题【分析与解答】(1)使用循环嵌套,外循环是数组的行循环,共循环4次;(2)外循环内的循环for(j=1;j=i;j+) printf(%c, );用于输出每行前面的空格;(3)循环for(j=i;j4;j+) printf(%4d,numij);用于每行空格后面的元素。main() int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j; for(i=0;i4;i+) for(j=1;j=i;j+) printf(%c, ); for(j=i;j4;j+) printf(%4d,numij); printf(n); 第4题【分析与解答】(1) 程序要求定义两个数组以便存放原始数据和从中选出的所有奇数。(2) 若把函数命名为oods,则函数首部可写成: voidodds(int *a,int an,int *b,int *bn)形参a指向存放原始数据的数组,an存放此数组中数据的个数;b指向另一个数组,此数组中将存放将选出的所有奇数,指针bn指向存放奇数个数的存储单元,因为将通过此指针,把奇数的个数传回主函数。(3) 在odds函数中,可通过一个for循环选出所有的奇数: for(i=0; ian; i+)if(ai%2) bj=ai;j+; 在for循环中逐个引用原始的数组元素,若元素中的值不能被2除尽(不为0),则把它放入b所指的数组中;j用作b的下标,每放入一个奇数后,j的值加1;注意,j的初值应该置0。(4) 当完成以上操作退出循环时,因为在循环内最后进行了一次j+的操作,所以j的值就是奇数的个数,最后应当把它赋给*bn,以便通过指针bn把奇数的个数传回主函数。(5) 程序需要两次输出数组中元素的值,一次是输出原始数组中的值,一次是输出奇数数组中的值。(6) 在主函数中应当定义所需的数组和变量,可以在主函数中给数组元素输入数据。(7) 总结:本题的算法很简单,要求读者能够编写独立的模块,并在函数之间熟练地传送数据。第5题【分析与解答】(1) 在定义数组时应该注意,进行逆置操作的矩阵必须是一个方阵,行、列数相同。(2) 对矩阵进行逆置的操作可由双重循环来完成: for(i=0;iN; i+)for(j=0;ji; j+)t=pij; pij=pji; pji=t;内循环的控制变量j的变化范围从0到i,以对角线为界,把对称位置上的元素值进行对调。 (3) 总结:本题主要的算法也是交换算法,关键是需要正确确定交换的范围。#define N 5main() int numNN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25;int i,j,t;for(i=0;iN;i+) for(j=0;jN;j+) printf(%4d,numij); printf(n);for(i=0;iN;i+) for(j=0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论