| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 762 人关注过本帖
标题:一组数据的“去重“和”排序“问题,我的程序错误很多,请各位高手改正一下 ...
只看楼主 加入收藏
天谈2011
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2011-3-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
一组数据的“去重“和”排序“问题,我的程序错误很多,请各位高手改正一下!
题目:
样例输入
10
20 40 32 67 40 20 89 300 400 15
样例输出
8
15 20 32 40 67 89 300 400


#include<stdio.h>
int main()
{
   void delete(int a[],int k,int b);
   void bub(int a[],int n,int l);
   int n,i,j,l=0;
   int a[1000];
   scanf("%d",&n);
   for(i=0;i<n;++i)
       scanf("%d",&a[i]);
   for(i=0;i<n;++i)
   {
     for(j=i+1;j<n;++j)
         if(a[i]==a[j])
             delete(a,a[i+1],n);
         l++;
   }
   printf("%d\n",n-l);
  bub(a,n,l);
  for(i=0;i<(n-l);++i)
  {
    printf("%d",a[i]);
  }
  printf("\n");
  return 0;
}
void delete(int a[],int k,int b)
{
  int i,j;
  for(i=0;i<b;++i)
  {
    if(k==a[i])
        for(j=i;j<b-1;++j)
            a[j]=a[j+1];
        break;
  }
}
void bub(int a[],int n,int l)
{
   int i,j,t;
   for(i=0;i<n-l;++i)
   {
     for(j=0;j<n-l-1;++j)
         if(a[j]>a[j+1])
         {
           t=a[j];
           a[j]=a[j+1];
           a[j+1]=t;
         }
   }
}
搜索更多相关主题的帖子: 程序错误 
2011-04-20 12:03
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:5 
把基本的排序算法搞懂了, 去重就不难。

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-20 12:16
走停停
Rank: 2
等 级:论坛游民
帖 子:19
专家分:24
注 册:2011-3-31
收藏
得分:15 
#include<stdio.h>
void main()
{
    int i,j,a[30],b[30],c[30],m=1,n,t=0,d=0,h;
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    for(i=0;i<n;i++)            
        for(j=i+1;j<n;j++)
            if(a[i]==a[j])
            {
                b[t]=j; t++;
            }
    for(i=0;i<n;i++)
    {
        for(j=0;j<t;j++)
        {
            if(i==b[j]) break;
            if(i!=b[j] && m==1 && j==t-1) {c[d]=a[i]; d++;m=0;}
        }
        m=1;
    }
       for(i=0;i<d;i++)            
        for(j=0;j<d;j++)
            if(c[i]<c[j]){h=c[i];c[i]=c[j];c[j]=h;}
    printf("%d\n",d);
    for(i=0;i<d;i++)
        printf("%d ",c[i]);
}
2011-04-20 21:27
certain
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2011-4-14
收藏
得分:0 
  你认为程序运行后真的可以?

天行健|  淫荡成就梦想!
地势坤|  猥琐引领时尚!
2011-04-21 11:25
天谈2011
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2011-3-27
收藏
得分:0 
回复 3楼 走停停
您的程序写的很好啊!
感谢帮助!
2011-04-21 13:23
天谈2011
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2011-3-27
收藏
得分:0 
谢谢各位的关注
2011-04-21 13:26
走停停
Rank: 2
等 级:论坛游民
帖 子:19
专家分:24
注 册:2011-3-31
收藏
得分:0 
回复 5楼 天谈2011
呵呵......“您”这个称呼不敢当,我也是刚学C的,一起学习就是了。
2011-04-21 19:28
快速回复:一组数据的“去重“和”排序“问题,我的程序错误很多,请各位高手改正 ...
数据加载中...
 
   



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

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