C语言用指针对n个整数进行排序,并将结果顺序数去,要求用一个函数实现,求完整过程。

不要在百度里搜的答案。求大神自己编程给我~~

第1个回答  2014-11-26
//By CainiaoQi
#include<stdio.h>
void sort(int *array,int n);
void print(int *array,int n);
void main() {
int array[10]={2,6,7,9,0,1,3,5,4,8};
int i=0;
printf("排序前:\n");
print(array,10);
sort(array,10);
printf("排序后:\n");
print(array,10);
}
//从大到小排序
void sort(int *array,int n) {
int i=0,j=0;
int temp=0;
for(i=0; i<n-1; i++) {
for(j=i; j<n; j++) {
if(array[j]>array[i]) {                  //改为array[j]<array[i]即为从小到大排序
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
void print(int *array,int n) {
int i=0;
for(i=0; i<10; i++) {
printf("%d  ",array[i]);
}
printf("\n");
}

第2个回答  2014-11-26
void sort(int *a,int n)//传入数组 和长度
{

int i ,j,temp;
for(i = 0;i < n-1;i++)//冒泡排序
{
for(j = 0;j<n-i-1;j++)
{
if(*(a+j)>*(a+j+1))
{
temp = *(a+1);
*(a+1)=*(a+1+j);
*(a+1+j) = temp;
}
}
}
}本回答被网友采纳
相似回答