要怎麼用C寫 排序的程式阿??
那容如下:
1.reads 4 options: -a ascending sorting, -d descending sorting, and -m calculating the mean deviation of array elements and an integer array from the command line;
2. sorts the array and prints the result;
3. calculates the mean deviation of the array elements and prints the result. The mean deviation is defined as Σ |xi - x|/n where x = Σxi/n.
Ex:
x1 = 124, x2 = 234, x3 = 562, x4 = 12 → x = (124 + 234 + 562 + 12)/4 = 233
mean deviation = (|124 - 233| + |234 - 233| + |562 - 233| + |12 - 233|)/4 = 165
Supposed the exectuable code is sort, a possible run may look as follows:
> sort -a 10 28 98 12 47 37 26 58
10 12 26 28 37 47 58 98
> sort -d 10 28 98 12 47 37 26 58
98 58 47 37 28 26 12 10
> sort -m 10 28 98 12 47 37 26 58
The mean deviation is 21.125.
Hint: Refer to the following code:
void selection_sort(int numbers[], int array_size) {
int i, j;
int min, temp;
for (i = 0; i < array_size-1; i++) {
min = i;
for (j = i + 1; j < array_size; j++)
if (numbers[j] < numbers[min]) min = j;
temp = numbers[i];
numbers[i] = numbers[min];
numbers[min] = temp;
}
}
/*
* To run the code, run "sort 10" if the compiled code is "sort".
*/
main(int argc, char *argv[]) {
int a[30];
int a[0] = atoi(argv[1]);
printf("a[0] = %d\n", a[0]);
selection_sort(a, 1);
}
大致上是這樣@@
有哪裡不清楚的地方請和我說一下 拜託一下 各位大了
