u013421512
coco1312
2015-11-21 20:51
采纳率: 30.2%
浏览 7.3k
已采纳

C填空题:键盘上输入10个整数,程序按降序完成从大到小排序

#include
void sort(int *p,int *q)
{
int *max,*s;
if(p>q)return;
max=p;
__ for(s=p+1;s<=q;s++)__
if()max=s;
swap();
sort((),q);
}
void swap(int *x,int *y)
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}
void main()
{

int i,array[10];
for(i=0;i<10;i++)
    scanf("%d",());
sort((),array+9);
for(i=0;i<10;i++)
   printf("%d",*(array+i));

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • havedream_one
    havedream_one 2015-11-21 23:40
    已采纳
     #include<stdio.h>
    void sort(int *p,int *q)
    {
        int *max,*s;
        if(p>q)return;
        max=p;
        //找寻p,q之间的最大值
        for(s=p+1;s<=q;s++)
            if(*s > *max)max=s;
        //将array[p]和之后的最大值交换
        swap(p,max);
        //排序array[p+1...q]
        sort(p+1,q);
    }
    void swap(int *x,int *y)
    {
        int temp;
        temp=*x;
        *x=*y;
        *y=temp;
    }
    void main()
    {
        int i,array[10];
        //赋值
        for(i=0;i<10;i++)
            scanf("%d",&array[i]);
        //对array数组排序
        sort(array,array+9);
        for(i=0;i<10;i++)
           printf("%d",*(array+i));
    }
    
    
    点赞 评论
  • caozhy
     if(s > *max)max=s;
    
    swap(&s, max);
    
    sort(s,q);
    
    scanf("%d",&array[i]);
    
    sort(array,array+9);
    
    点赞 评论

相关推荐