数组部分必须会编写的程序(参考答案)1、使用选择法、冒泡法对 10 个数进行排序,并输出排序前后的数列。//选择法#includevoid main(){int a[10]={12,45,7,8,96,4,10,48,2,46},n=10,i,j,t,temp;printf(”Before sort:”);for(i=0;i<10;i++){printf(”%4d",a[i]);}printf(”\n");//排序for(i=0;i〈9;i++){t=i;for(j=i+1;j〈10;j++){if(a[t]>a[j]){t=j;}}if(t!=i){temp=a[i];a[i]=a[t];a[t]=temp;}}printf("Aftere sorted:");for(i=0;i<10;i++){printf(”%4d",a[i]);}printf(”\n");}//冒泡法#includea[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;}}printf(“Aftere sorted:”);for(i=0;i〈10;i++){printf(”%4d",a[i]);}prtintf(“\n”);}2、已知数组 a 中的元素已按由小到大顺序排列,以下程序的功能是将输入的一个数插入数组 a 中,插入后,数组 a 中的元素仍然由小到大顺序排列。#include void main(){int a[10]={0,12,17,20,25,28,30}; /*a[0]为工作单元,从 a[1]开始存放数据*/ int x , i, j=6; /*j 为元素个数*/printf(”Enter a number: "); scanf("%d”,&x);a[0]=x;i=j; /*从最后一个单元开始*/while(a[i]>x){ a[i+1]=a[i]; i-—; /*将比 x 大的数往后移动一个位置*/}a[++i]=x;j++; /*插入 x 后元素总个数增加*/for(i=1;i<=j;i++) printf("%8d",a[i]);printf(”\n");}3、(提高题目)编号为 1,2,3,……n 的 n 个人按顺时针方向围坐一圈。任选一个正整数作为报数上限 m,从第 1 个人开始按顺时针方向自 1 开始顺序报数,报到 m 时停止报数。报 m 的人出列,从他在顺时针方向上的下一个人开始重新从 1 报数,如此下去,直至所有人全部出列为止.设计程序输出出列顺序.#include #define nmax 50void main(){int i,k,m,n,t,num[nmax];printf(”please input the total of numbers:”);scanf(”%d”,&n);printf("please input the upper bound of numbers:”);...