改了一下:
#include "stdio.h"
void quick_sort(int *a, int left, int right);
void swap(int &a, int &b);
int main(int argc, char* argv[])
{
int array[10], i;
float sum = 0;
printf("请输入10个整数 ==>>\n");
for(i = 0; i < 10; i++)
scanf("%d", &array[i]);
printf("\n");
printf("输入的数为 ==>>");
for(i = 0; i < 10; i++)
printf("%3d", array[i]);
quick_sort(array, 0, 9);
printf("输出的数为 ==>>");
for(i = 0; i < 10; i++)
printf("%3d", array[i]);
for(i = 2; i < 8; i++)
sum += array[i];
printf("\n平均数为==>%.2f\n",sum/6);
return 0;
}
void quick_sort(int *a, int left, int right)
{
int i, point;
if(left < right)
{
i = left - 1;
point = a[right];
for(int j = left; j <= right - 1; j++)
if(a[j] <= point)
{
i++;
swap(a[i], a[j]);
}
swap(a[i + 1], a[right]);
quick_sort(a, left, i);
quick_sort(a, i + 2, right);
}
}
void swap(int &a, int &b)
{
int p;
p = a;
a = b;
b = p;
}
#include "stdio.h"
void quick_sort(int *a, int left, int right);
void swap(int &a, int &b);
int main(int argc, char* argv[])
{
int array[10], i;
float sum = 0;
printf("请输入10个整数 ==>>\n");
for(i = 0; i < 10; i++)
scanf("%d", &array[i]);
printf("\n");
printf("输入的数为 ==>>");
for(i = 0; i < 10; i++)
printf("%3d", array[i]);
quick_sort(array, 0, 9);
printf("输出的数为 ==>>");
for(i = 0; i < 10; i++)
printf("%3d", array[i]);
for(i = 2; i < 8; i++)
sum += array[i];
printf("\n平均数为==>%.2f\n",sum/6);
return 0;
}
void quick_sort(int *a, int left, int right)
{
int i, point;
if(left < right)
{
i = left - 1;
point = a[right];
for(int j = left; j <= right - 1; j++)
if(a[j] <= point)
{
i++;
swap(a[i], a[j]);
}
swap(a[i + 1], a[right]);
quick_sort(a, left, i);
quick_sort(a, i + 2, right);
}
}
void swap(int &a, int &b)
{
int p;
p = a;
a = b;
b = p;
}
天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.