程序的功能是对含有n个元素(最多10个)的一维数组按升序进行排序。

来源:百度知道 编辑:UC知道 时间:2024/05/10 20:26:00
程序的功能是对含有n个元素(最多10个)的一维数组按升序进行排序。
#include <stdio.h>
#define ARRAY_SIZE 10
void Sort(int a[], int n);
void InputArray(int a[],int n);
void PrintArray(int a[],int n);
main()
{
int a[ARRAY_SIZE], n;
printf("Input array lenth n<=10: ");
scanf("%d", &n);
printf("输入数组 a:\n");
InputArray(a, n);
Sort(a, n);
printf("打印排序后的数组 a:\n");
PrintArray(a, n);
}

void Sort(int a[], int n)
{
int i, j, p, temp;

for(i = 0; i < ; i++)
{
p = i;
for(j = ; j < n; j++)
{
if( ) p = j;
}
if( )
{
temp = a[p];
a[p] = a[i];
a[i] = temp;
}
}
}
void InputArray(int a[], int n)
{
int i;
for (i = 0; i < n; i++)
{
;
}
}

/*本程序把数组的值按升序排列——又叫冒泡法*/
#include<stdio.h>
#include<stdlib.h>
#define SIZE 10
main()
{
int a[SIZE]={2, 6, 4, 8, 10, 12, 89, 68, 45, 37};
int i, pass, hold;

printf("Date items in oraginal order\n");

for(i=0;i<=SIZE-1;i++) /*一般让i=0,这样就和相应的数组下标对应*/
printf("%4d",a[i]);

for(pass=1;pass<=SIZE-1;pass++)/*比较的次数*/
for(i=0;i<=SIZE-2;i++)/*比较一次*/
if(a[i]>a[i+1]){
/*数值交换——冒泡法*/
hold=a[i];
a[i]=a[i+1];
a[i+1]=hold;
}
printf("\nData items in ascending order\n");

for(i=0;i<SIZE;i++)
printf("%4d",a[i]);

printf("\n");

system("pause");
return 0;