进击的毛毛虫


私信TA

用户名:zzzzcr

访问量:7367

签 名:

等  级
排  名 4308
经  验 1721
参赛次数 0
文章发表 19
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:关键是找到大小值的位置。

注意事项:

参考代码:

#include<stdio.h>
#define N 10
void SORT(int p[N])
{
    int i, j=0,t;
    int s;
    for (i = 0; i < N; i++)
    {
        t = 0;//设置开关量
        for (j = 0; j < N - 1; j++)
        {
            if (p[i] < p[j])            
                t++;     //每次比较成功t加一,      
        }        
        if (t == 8)//比较完毕,若有8个比自身小,那自身就是最小。
        {
            s = i;   //把下标值 赋值给s,其实这步可以省略掉,调试的时候用到过。   
            break;
        }
    }
    
    t = p[0]; p[0] = p[s]; p[s] = t;//进行交换,下面比较最大值也是这个套路。
    
    for (i = 0; i < N; i++)
    {
        t = 0;
        for (j = 0; j < N - 1; j++)
        {
            if (p[i]> p[j])
                t++;
        }
        
        if (t == 8)
        {    
            s = i;        
            break;
        }
    }
    t = p[N-1]; p[N-1] = p[s]; p[s] = t;    
    
}
void PUTS(int a[])
{
    int i;
    for (i = 0; i < N; i++)
        printf("%d ", a[i]);
    printf("\n");
}
int main()
{
    int i, a[N] ;
    int *p = a;
    for (i = 0; i < N; i++)
        scanf("%d", &a[i]);
    SORT(a);
    PUTS(a);

    return 0;
}

 

0.0分

0 人评分

  评论区

  • «
  • »