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

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

#include <stdio.h>

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;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-14
//希望我的回答对你的学习有帮助
#include <stdio.h>

#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;
}

相似回答