函数功能是要求实现将一维数组arr[]中元素从小到大进行排序。注意:数组中元素从下标为0开始存放。
测试点
input
1 3 5 2 6 9
output
1 2 3 5 6 9
#include <stdio.h>
void sort(int arr[], int n)
{
int t,i,j,k;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
if(arr[i]>arr[j])//逐个逐个判断条件,满足就交换两值
{
t=arr[i];
arr[i]=arr[j];
arr[j]=t;
}
}
}
int main()
{
int arr[6];
int i;
for(i=0; i<6; i++)
scanf("%d",&arr[i]);
sort(arr, 6);
for (i = 0; i < 6; i++)
{
printf("%d ", arr[i]);
}
return 0;
}用k值作为中间变量去处理i,j关系
#include <stdio.h>
void sort(int arr[], int n)
{
int t,i,j,k;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(arr[j]<arr[k])
{k=j;} //细细去品味其中的东西
t=arr[k];
arr[k]=arr[i];
arr[i]=t;
}
}
int main()
{
int arr[6];
int i;
for(i=0; i<6; i++)
scanf("%d",&arr[i]);
sort(arr, 6);
for (i = 0; i < 6; i++)
{
printf("%d ", arr[i]);
}
return 0;
}



京公网安备 11010502036488号