实验项目:排序(写实验报告) 实验目的:1.掌握排序的一般方法 2.正确使用数组来解决排序中 的数据类型描述问题 实验内容: 程序()功能:编程实现用冒泡对输入的 10个数由小到大排序
实验项目:排序 (写实验报告) 实验目的 : 1.掌握排序的一般方法 2.正确使用数组来解决排序中 的数据类型描述问题。 实验内容: 程序(一) 功能:编程实现用冒泡对输入的 10个数由小到大排序
参考程序: include maino i int a[11l,i, i,t; printf( Input 10 numbers: In; for(i=1;ia[+1) a[;a叮=a[i+们;a[+1]F=t;} printf( The sorted numbers: In); for(i=1;i<11;i++) printf( %d a0)
参考程序: #include main() { int a[11], i, j, t; printf("Input 10 numbers:\n"); for(i=1;ia[i+1]) {t=a[i]; a[i]=a[i+1]; a[i+1]=t;} printf("The sorted numbers:\n"); for(i=1;i<11;i++) printf("%d ",a[i]); }
程序(二)功能:编程实现用选择法对输入的10个数由小到大排序。参考程序: include main () i int a[111, i,j, k, x; printf("Input 10 numbers: In); for(i=1;i<11;i++) scanf( %d", &a[ printf("in") for(i=1;i<10;++) {k三i for(j=i+1j<=10j++) if(af]<ak)=ii if(k∈i X=a; a[]=a]; a[]=x,] printf( The sorted numbers: In); for(i=1;<11;i++) printf( %d " a]);
程序(二) 功能:编程实现用选择法对输入的10个数由小到大排序。参考程序: #include main() { int a[11],i,j,k,x; printf("Input 10 numbers:\n"); for(i=1;i<11;i++) scanf("%d",&a[i]); printf("\n"); for(i=1;i<10;i++) { k=i ; for(j=i+1;j<=10;j++) if(a[j]<a[k]) k=j ; if (k!=i) { x=a[i]; a[i]=a[k]; a[k]=x;} } printf("The sorted numbers:\n"); for(i=1;i<11;i++) printf("%d ",a[i]); }
程序(三)功能:编程实现由键盘输入一个数插入到有序 数组中。(参考黄皮教材中实验十一) main inta[111{1,4,6,9,13,1619,28240,100 int temp1, temp2, numder, end, i,j scanf(%d”,& number); end=alg]: if(numbered)a[10]number; eIse for(=0inumber) temp1=a叮 a[inumber fo=|+111j++ ttemp2=a[]ar]=temp1; temp1=temp2 1 break
程序(三) 功能:编程实现由键盘输入一个数插入到有序 数组中。(参考黄皮 教材中实验十一 ) main() {int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp1, temp2,numder,end,i,j; scanf(“%d”,&number); end=a[9]; if(number>end) a[10]=number; else {for(i=0;inumber) { temp1=a[i]; a[i]=number; for(j=i+1;j<11;j++) {temp2=a[j];a[j]=temp1;temp1=temp2;} break; } } } }
问题 若使程序一输出的排序结果为 [1]=1a[2]=2.a10]=10的形式,程序应 做何改动? 2、完成程序二的空白部分,把程序补充完 整 3、分析选择法和冒泡法排序的异同。 编程实现程序三的功能,要求插入的是任意 数值
问题: 1、若使程序一输出的排序结果为: a[1]=1 a[2]=2……a[10]=10的形式,程序应 做何改动? 2、完成程序二的空白部分,把程序补充完 整。 3、分析选择法和冒泡法排序的异同。 编程实现程序三的功能,要求插入的是任意 数值