第七章一维数组:排序综合题[书面作业]2010年10月25日课堂以书面作业形式上交下列三种不同的排序源程序【上课提问要求】:对作业上,采用一个主函数方式,编写源程序。0821陈健、黄晓凯、张斌采用简单起泡排序法;0822谢承祥、李冬明、张茂竹采用双向起泡排序法;0823黄人杰、高枫、薛乾采用选择排序法。徐辰峰、江鹏、许鹏演示“数制变换程序”-十进制数变为以八进制数形式的一维数组(资料见最后一页)下面第七章单选题1、5、8、100821:王其伟、林达飞、杨晶、张磊阅读并理解江苏省计算机二级C语言上机考试题目要求【2008春上机编程题_C07】【程序功能】产生Fibonacci数列的前40个数,再找出其中的所有素数。Fibonacci数列为:1,1,2,3,5,8,13,21,34,89,………【编程要求】1.编写函数voidFibonprime(longf[],intn),产生Fibonacci数列的前n个数,再将其中的所有素数放入数组f中,函数返回f数组中素数的个数。2.编写main函数,调用Fibonprime函数求出Fibonprime数列前40个数(n-40)中的素数,将这些素数输出到屏幕并保存到文件myf2.out中。最后将考生本人的准考证号字符串也保存到结果文件myf2.out中。【测试数据与运行结果】运行结果:2351389233159728657514229myexamnumberis:考生本人准考证号字符串【要求】1.源程序文件名必须取为myf2.c,输出结果文件名为myf2.out。2.数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。3.源程序文件和运行结果文件均需保存到T:盘上,供阅卷使用。4.不要复制扩展名为obj和exe的文件到T:盘上。【解题思路】:在理解上述要求基础上,只用一个主函数完成:找出Fibonacci数列的前40个数,存放在一维数组m[40](声明长整型变量long)中,然后找出其中所有素数,存放在一维数组n[40]中(提示:n数组要求对素数总数以k计数),再选用一种排序法对一维数b进行降序排列,最后按长整型量以“%9ld”形式、一行五个数据将满足条件的数据输出到屏幕:【提示】:排序方法有“简单起泡法”;“双向起泡法”;“选择法”;所以要求学生在调试上述程序基础上按班组选取排序方法,编写本次作业。(约定:起始Fibonacci数列存放在一维数组m[40]中,挑选出的素数存放在一维数组n[40]中,最后以升序排列的数组n输出,满足素数的个数设定为k)。参考程序:简单起泡排序法:(参考教科书P134)双向起泡排序法:(参考上机指导书P54例7.5、2010春完善程序题第15题或软件第七章填空第15题)原理为“下列程序的功能是对n数组n[0]~a[k-1]中存储的k个整数从大到小排序。排序算法是:第一趟通过比较将k个整数中的最小值放在a[k-1]中,最大值放在a[0]中;第二趟通过比较将k个整数中的次小值放在a[k-2]中,次大值放在a[1]中,………,依次类推,直到待排序序列为递减序列。”选择排序法:(参考上机指导书P50例7.2)课堂练习空余时间或课后业余时间练习知识题【软件第七章】选择:1,下列一维数组的声明中,正确的是____(22)_____。A.inta[];B.intn=10,a[n];C.inta[10+1]={0};D.inta[3]={1,2,3,4};5.以下程序运行后的输出结果是_____(25)___。main(){chara[7]=a0\0a0\0;inti,j;i=sizeof(a);j=strlen(a);printf(%d%d,i,j);}A.22B.72C.75D.628.以下声明中错误的是_____(27)_____。A.inta[2];B.inta[]={0,1};C.inta[3]=0;D.nta[3][4]={0};11.已知有声明intm[]={5,4,3,2,1},i=0;,下列对数组元素的引用中,错误的是_____(27)_____。A.m[++i]B.m[5]C.m[2*2]D.m[m[4]]参考资料:数制变换输入一个十进制数,输出为二进制数形式的一维整型数组