【发布时间】:2017-08-16 10:03:43
【问题描述】:
当我运行代码时,我得到了结果7215,这显然是不正确的。代码很好,终端没有错误,只有输出错误。请帮助我知道这是一个基本的排序算法,但我是编程新手。
#include<stdio.h>
#include<stdlib.h>
void sort(int arr[],int n);
int main()
{
int a[]={2,7,1,5};
sort(a,4);
return 0;
}
void sort(int arr[],int n)
{
int i,j,temp;
int imin;
for(int i=0;i<(n-2);i++)
{
imin=i;
for(int j=0;j<n;j++)
{
if(arr[j]<arr[imin])
{
imin=j;
}
}
temp=arr[i];
arr[i]=arr[imin];
arr[imin]=temp;
}
int k;
for(k=0;k<n;k++)
{
printf("\n%d\n",arr[k]);
}
}
【问题讨论】:
-
代码怎么可以同时好和错?
-
@FelixPalmen:我想它是“很好”的,因为它可以编译和运行而不会崩溃。