问题描述
- c语言排序问题简单的选择排序
-
#include#define N 20void px(int a[],int n){ int i,j,t,min; for(i=0;ia[j]) { t=a[j]; a[j]=min; min=t; } } printf("%d ",a[i]); }}int main(){ int a[N],n,i; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",a[i]); px(a,n); for(i=0;i<n;i++) printf("%d ",a[i]); return 0;} 这是c语言中的一个选择排序,用vc编译和链接都没错,执行的时候出错了,各位大神请指点一二。
解决方案
#include "stdafx.h"
#include<stdio.h>
#define N 20
void px(int a[],int n)
{
int i,j,t,min;
for(i=0;i<n;i++)
{
min=i;
for(j=i+1;j<n;j++)
{
if(a[min]>a[j])
{
min=j;
}
}
t=a[i];
a[i]=a[min];
a[min]=t;
//printf("%d ",a[i]);
}
}
int main()
{
int a[N],n,i;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
px(a,n);
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}
解决方案二:
void px(int a[],int n)
{
int i,j,t,min;
for(i=0;i
{
min=i;
for(j=i+1;j
{
if(a[min]>a[j])
{
min=j;
}
}
t=a[i];
a[i]=a[min];
a[min]=t;
//printf("%d ",a[i]);
}
}
int main()
{
int a[N],n,i;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
px(a,n);
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}
解决方案三:
include "stdafx.h"
#include
#define N 20
void px(int a[],int n)
{
int i,j,t,min;
for(i=0;i
{
min=i;
for(j=i+1;j
{
if(a[min]>a[j])
{
min=j;
}
}
t=a[i];
a[i]=a[min];
a[min]=t;
//printf("%d ",a[i]);
}
}
int main()
{
int a[N],n,i;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
px(a,n);
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}
解决方案四:
c语言简单选择排序
c语言选择排序
c语言选择排序