[求助]该题是老潭书上的习题,关于将最小值排在最前面,最大值排\在最前面
如下是我做的,发现错误的地方帮我用红色标记
#include<stdio.h>
void main()
{ int i,*q,a[10];
void sort(int *p,int n);
void put(int *p,int n);
q=a;
printf("input 10 int :\n");
for (i=0;i<10;i++)
scanf("%d",q++);
q=a;
sort(q,10);
put (q,10);
}
void sort(int*p,int n)
{int *t,*s,*temp,j;
*t=*p;
for (j=1;j<n;j++)
{
if (*t>*(p+j))
*t=*(p+j);
}
if(*t!=*p)
*temp=*p;
*p=*t;
*t=*temp;
*t=*(p+n-1);
for (j=n-1;j>0;j--)
{
if (*t<*(p+n-j-1))
*t=*(p+n-j-1);
}
if(*t!=*(p+n-1))
{
*temp=*(p+n-1);
*(p+n-1)=*t;
*t=*temp;
}
}
void put (int *p, int n)
{
int i;
for(i=0;i<n;i++)
printf("%-4d",p++);
}
能运行,但输出是负值