| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1455 人关注过本帖
标题:这个程序怎么写呀,求大佬指点
只看楼主 加入收藏
小呆呆21
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-7-6
结帖率:0
收藏
已结贴  问题点数:10 回复次数:2 
这个程序怎么写呀,求大佬指点
下列程序中,函数void sort(int al],int n)实现了对a指向的长度为n的数组从大到小排序。函数int merge(int al],int an,int bl,.int bn,int c([)功能是对长度分别为an和bn的已按降序排列的数组a和b进行从大到小归并,结果存放到c数组中,并使c按降序排列,且相同元素值只存储一一个。
测试数据:
a数组: 10,1,2,5,8,9
b数组: 18.3,4,8,12,1
搜索更多相关主题的帖子: 函数 int 数组 降序 排列 
2018-07-06 09:06
偏飞
Rank: 2
等 级:论坛游民
威 望:1
帖 子:10
专家分:49
注 册:2018-7-6
收藏
得分:5 
搜一下归并排序
2018-07-06 20:11
Genius_852
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2018-7-9
收藏
得分:5 
#include<stdio.h>
void sort(int *a, int n)
{ int i,j,temp;
 for(i=0;i<n;i++)
  for(j=i+1;j<n;j++)
    if(*(a+i)<*(a+j))
     { temp=*(a+i);
     *(a+i)=*(a+j);
     *(a+j)=temp;
     }
}

int merge(int *a, int an, int *b, int bn, int *c)
{ int *aa, *bb, k=0;
   aa=a;
   bb=b;
  while((aa<a+an)&&(bb<b+bn))
  {
      if(*aa>*bb)
       { *c=*aa;
        aa++;
        }
       else
       { *c=*bb;
         bb++;
        }   
        k++;
        c++;
  }
 if(aa==a+an)
 *c=*bb;
 else
 *c=*aa;

 return k+1;
}
main()
{   int c[50],a[20],b[20],d[20];
    int i,j,m,n,k,length;
    printf("please enter the number of a\n");
    scanf("%d",&m);
    printf("please enter the array:\n");
    for(i=0;i<m;i++)
    scanf("%d",&a[i]);

    printf("please enter the number of b\n");
    scanf("%d",&n);
    printf("please enter the array:\n");
    for(i=0;i<n;i++)
    scanf("%d",&b[i]);
    sort(a,m);
    sort(b,n);
    length=merge(a,m,b,n,c);
    for(i=0;i<length-1;i++)
     for(j=i+1;j<length;)
     {if(c[i]==c[j])
       {for(k=j;k<length-1;k++)
         c[k]=c[k+1];
         length--;
       }
       else
       j++;
     }

     for(i=0;i<length;i++)
     printf("%d ",c[i]);

    getch();

    }
2018-07-12 16:50
快速回复:这个程序怎么写呀,求大佬指点
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019150 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved