注册 登录
编程论坛 C语言论坛

感觉没问题了呀!运用指针排序,小弟刚入编程,不太会,希望大佬帮帮忙

bccnzq 发布于 2020-12-06 23:48, 811 次点击
#include <stdio.h>
int main()
{void w(int x[],int n);
int i,*p,a[3];
p=a;
for(i=0;i<3;i++);
scanf("%d",p++);
p=a;
w(p,3);
for(p=a,i=0;i<3;i++);
{printf("%d ",*p);
p++;
}
return 0;
}
void w(int x[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k])k=j;
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;
}
}

 }
1 回复
#2
rjsp2020-12-07 12:38
代码好好排版一下吧

程序代码:
#include <stdio.h>

void w( int x[], size_t n )
{
    for( size_t i=0; i!=n; ++i )
    {
        size_t k = i;
        for( size_t j=i+1; j!=n; ++j )
            if( x[j] > x[k] )
                k = j;

        int t = x[i];
        x[i] = x[k];
        x[k] = t;
    }
}

int main(void)
{
    int a[3];

    const size_t n = sizeof(a)/sizeof(*a);
    for( size_t i=0; i!=n; ++i )
        scanf( "%d", &a[i] );

    w( a, n );
    for( size_t i=0; i!=n; ++i )
        printf( "%d ", a[i] );
}
1