分段排序,其中前一半为从小到大排序,后一半为从大到小排序,n为奇数 时,位于中间点的数不需要排序。 **********/ void main() {
inti,j,t; if(n%2==0) {
for(i=0;i
t=a[j]; a[j]=a[j+1]; a[j+1]=t; }
for(i=0;i
t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } else {
for(i=0;i
t=a[j]; a[j]=a[j+1]; a[j+1]=t; }
for(i=0;i
t=a[j]; a[j]=a[j+1]; a[j+1]=t; } }
}
/**********
【习题6.265】系统给定外部整型变量n和整型数组a(不需要自行定义)。 编写程序,用起泡法对数组a中前n个元素(a[0],a[1],?,a[n-1])进行
分段排序,其中前一半为从大到小排序,后一半为从小到大排序,并把n个 数的平均值存在a[n]中,n为奇数时,位于中间点的数不需要排序。 **********/ void main() { inti,j;
floatt,sum; if(n%2==0) {
for(i=0;i
t=a[j]; a[j]=a[j+1]; a[j+1]=t; }
for(i=0;i
t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } else {
for(i=0;i
t=a[j]; a[j]=a[j+1]; a[j+1]=t; }
for(i=0;i for(j=n/2+1;j t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } for (i=0;i /********** 【习题6.425】系统给定外部整型变量n和整型数组a(不需要自行定义)。 编写程序,求某数列中前n个数,并依次存放在数组a中,该数列的前两个 数为2和3,以后每一个数都是前两个数之差(后面的数减去前面的数)的2 倍,如前6个数依次为:2,3,2,-2,-8,-12)。 **********/ void main() { a[0]=2;a[1]=3; for (int i=2;i /********** 【习题6.435】系统给定外部整型变量m、n、整型数组a和实型数组b(不需要自 行定义),其中n的值是m的整数倍。编写程序,对数组a的前n个元素依次赋予从 2开始的偶数,然后按顺序每m个数求出一个平均值并依次存储在另一数组b中。 **********/ void main() { a[0]=2; inti,j=0,sum=0; for(i=1;i if(i>0&&i%m==0) { b[j++]=sum/m; sum=0; } sum+=a[i]; } b[j]=sum/m; } /********** 【习题6.615】系统给定外部整型变量m、n和整型二维数组a和b(不需要 自行定义)。编写程序,将m*n二维数组a的行和列元素互换,存到n*m二 维数组b中。 **********/ void main() { inti,j; if(m for(i=0;i for(i=0;i /********** 【习题6.621】系统给定外部整型变量n、i、imin和整型二维数组a(不需要 自行定义)。编写程序,求n*n二维数组a中第i行的元素最小值imin。 **********/ void main() { imin=a[i][0]; for(int j=1;j /********** 【习题6.625】系统给定外部整型变量n、dmin和整型二维数组a(不需要 自行定义)。编写程序,求n*n二维数组a中主对角线元素的最小值dmin。 **********/ void main() {