level 9
😘小眼神
楼主
#include<stdio.h>
main()
{
void xd(int *p,int n);
void dx(int *p,int n);
void in(int *p,int *r);
int c[10000]={0},q[]={0},i,*p,w,v,*r;
int l;
do
{
p=c;
r=q;
in(p,r);
p=c;
w=*r;
printf("从小到大排序输入1\n从大到小排序输入2:");
scanf("%d",&v);
if (v==1)
{xd(p,w);
for(p=c,i=0;i<w;i++)
{
printf("%d ",*p);
p++;
}
}
else
if (v==2)
{dx(p,w);
for(p=c,i=0;i<w;i++)
{
printf("%d ",*p);
p++;
}
}
else
if (v!=1 || v!=2)
{
printf("选择错误!!\n");
}
printf("\n");
printf("输入非“1”结束,输入“1”继续排序:");
fflush(stdin);
scanf("%d",&l);
}
while(l==1);
system("pause");
return 0;
}
void xd(int *p,int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if (*(p+j)<*(p+k)) k=j;
if (k!=i)
{t=*(p+i);*(p+i)=*(p+k);*(p+k)=t;}
}
}
void dx(int *p,int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if (*(p+j)>*(p+k)) k=j;
if (k!=i)
{t=*(p+i);*(p+i)=*(p+k);*(p+k)=t;}
}
}
void in(int *p,int *r)
{
int i,j;
printf("请输入需要排序的数据,“-1”作为结束(please enter data):\n");
for(i=0;i<1000;i++)
{
scanf("%d",p);
if (*p==-1)
{
*r=i;
break;
}
else
p++;
}
}
2013年12月26日 08点12分
1
main()
{
void xd(int *p,int n);
void dx(int *p,int n);
void in(int *p,int *r);
int c[10000]={0},q[]={0},i,*p,w,v,*r;
int l;
do
{
p=c;
r=q;
in(p,r);
p=c;
w=*r;
printf("从小到大排序输入1\n从大到小排序输入2:");
scanf("%d",&v);
if (v==1)
{xd(p,w);
for(p=c,i=0;i<w;i++)
{
printf("%d ",*p);
p++;
}
}
else
if (v==2)
{dx(p,w);
for(p=c,i=0;i<w;i++)
{
printf("%d ",*p);
p++;
}
}
else
if (v!=1 || v!=2)
{
printf("选择错误!!\n");
}
printf("\n");
printf("输入非“1”结束,输入“1”继续排序:");
fflush(stdin);
scanf("%d",&l);
}
while(l==1);
system("pause");
return 0;
}
void xd(int *p,int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if (*(p+j)<*(p+k)) k=j;
if (k!=i)
{t=*(p+i);*(p+i)=*(p+k);*(p+k)=t;}
}
}
void dx(int *p,int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if (*(p+j)>*(p+k)) k=j;
if (k!=i)
{t=*(p+i);*(p+i)=*(p+k);*(p+k)=t;}
}
}
void in(int *p,int *r)
{
int i,j;
printf("请输入需要排序的数据,“-1”作为结束(please enter data):\n");
for(i=0;i<1000;i++)
{
scanf("%d",p);
if (*p==-1)
{
*r=i;
break;
}
else
p++;
}
}