数组部分必须会编写的程序(参考答案)
1、使用选择法、冒泡法对10个数进行排序,并输出排序前后的数列。
//选择法
#include
//冒泡法
#include
int a[10]={12,45,7,8,96,4,10,48,2,46},n=10,I,j,t; printf(“Before sort:”); for(i=0;i<10;i++) {
printf(\}
prtintf(“\\n”); //排序
for(i=0;i<=n-1;i++) { for(j=0;ja[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
printf(“Aftere sorted:”); for(i=0;i<10;i++) {
printf(\}
prtintf(“\\n”); }
2、已知数组a中的元素已按由小到大顺序排列,以下程序的功能是将输入的一个数插入数组a中,插入后,数组a中的元素仍然由小到大顺序排列。
#include
3、(提高题目)编号为1,2,3,……n的n个人按顺时针方向围坐一圈。任选一个正整数作为报数上限m,从第1个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。设计程序输出出列顺序。
#include i=0; //用于记录顺序1..n k=0; //用于记录顺序1..m t=0; //用于记录出列顺序 while(t } { if(num[i]==0) k++; if(k==m) { t++; num[i]=t; k=0; } i++; if(i==n)i=0; //或者 i=i%n,构成循环 } for(i=0;i for(i=0;i printf(\printf(\ 4、编程打印直角杨辉三角形前六行。 #include 5、编写程序,把下面的数据输入一个二维数组中。 25 12 75 56 然后执行以下操作: 36 78 13 26 88 93 18 22 32 44 36 58 ①输出矩阵两个对角线上的数; ②分别输出各行和各列的和; ③交换第一行和第三行的位置; ④交换第二列和第四列的位置; ⑤输出处理后的数组。 #include