#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\t",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\t",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\t",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\t",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\t",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\t",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\t",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\t",a[i]);
return 0;
}
#include<iostream>
#include<vector>//向量,用来做变长数组;
#include<algorithm>
using namespace std;
int main()
{
int n;
cin>>n;
int temp;
vector<int> a(0,0);
for(int i=0;i<n;i++)
{
cin>>temp;
a.push_back(temp);
}
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(a[j]<a[i])
{
swap(a[i],a[j]);
}
}
}
for(int i=0;i<n;i++)
cout<<a[i]<<" ";
return 0;
}