1、(2)从键盘输入10个整数,分别用选择和冒泡排序对这10个数进行排序。(4)输入一个整数,在一个有序数列中使用折半查找法查找是否存在该整数。(5)有a,b,c,d和e共5个不同的 球,准备分给甲、乙、丙、丁和戊5个小朋友。已知小朋友甲不用a球,小朋友乙不要b球,小朋友丙不用c求。编写程序求共有多少种不同的分法。2、实验目的与要求(1)掌握一维数组的定义和输入输出的方法。(2)掌握与数组有关的算法,如排序、查找。3、 实验步骤与源程序 实验步骤(1)、(2)、选择排序:冒泡排序:(4)、(5)、 源代码#includevoid main() int a10; int i,k,j,temp; do
2、uble p,sum=0; printf(请输入10个整数:n); for(i=0;i10;i+) scanf(%d,&ai);9; k=i; for(j=i+1;jj+) if(aj t=ai; ak=t;排序后的整数为:下面使用冒泡排序: int i,j,t; for(j=0; for(i=0;9-j; if(aiai+1) ai=ai+1; ai+1=t; int a10=0,1,2,3,4,5,6,7,8,9; int low=0,high=9; int mid,k;请输入您想查找的数k: scanf(k); while(low=high) mid=(low+high)/2; if(k
3、=amid) break; if(kamid) high=mid-1; else low=mid+1; if(low查到这个数!nn您想查找的数%d 是数组的第%d个元素,k,(low+high)/2+1); else查无此数! int a,b,c,d,e,count=0; int x6,i; for(i=1;=5; xi=1; for(a=1;aa+) if(xa=1) xa=0; for(b=1;bb+) if(xb) xb=0; for(c=1;cc+) if(xc) xc=0; for(d=1;dd+) if(xd) xd=0; for(e=1;ee+) if(xe) xe=0; if(a!=1&b!=2&c!=3) count+; xe=1; xd=1; xc=1; xb=1; xa=1; 有%d种不同的分法。,count);4、 测试数据与实验结果(可以抓图粘贴)5、 结果分析与实验体会(1)、数组是一组有序数据的集合,数组中的每一个元素都属于同一个数据类型。数组常与循环结合起来。(2)、对于数组中的经典算法理解后也用适当记忆。如有关排序的算法。(3)、对于一些实际问题,要善于抽象成C语言的题目。