C语言. .编写一个Sort函数,完成对整型数组元素升序排列。

C语言. .编写一个Sort函数,完成对整型数组元素升序排列。
2024-12-26 00:09:35
推荐回答(2个)
回答1:

#include 

void sort(int a[], int n) {//选择排序
int i,j,k,t;
for(i = 0; i < n - 1; ++i) {
k = i;
for(j = k + 1; j < n; ++j) {
if(a[k] > a[j]) k = j;
}
if(k != i) {
t = a[i];
a[i] = a[k];
a[k] = t;
}
}
}

int main() {
int a[] = {21,16,30,21,8,19,33,26,28,27,24,50,13,12};
int i,n = sizeof(a)/sizeof(a[0]);
printf("排序前:\n");
for(i = 0; i < n; ++i)
printf("%d ",a[i]);
printf("\n");
sort(a,n);
printf("排序后:\n");
for(i = 0; i < n; ++i)
printf("%d ",a[i]);
printf("\n");
return 0;
}

回答2:

//希望我的回答对你的学习有帮助
#include 

#define N 3        //定义数组的大小,表示数组中可以放的个数

void Sort(int IntArray[N])        //冒泡算法
{
for (int i = 0; i < N - 1; i++)
{
for (int j = 0; j < N - i - 1; j++)
{
int temp;
if (IntArray[j] > IntArray[j + 1])
{
temp = IntArray[j];
IntArray[j] = IntArray[j + 1];
IntArray[j + 1] = temp;
}
}
}
}

int main()
{
int IntArray_T[N] = {};

for (int i = 0; i < N; i++)        //输入
{
scanf("%d", &IntArray_T[i]);
}

Sort(IntArray_T);

for (int i = 0; i < N; i++)        //输出
{
printf("%4d", IntArray_T[i]);
}

return 0;
}