| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1737 人关注过本帖
标题:请问一下关于这一段排序去重的代码哪里出了问题
取消只看楼主 加入收藏
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
结帖率:96.88%
收藏
已结贴  问题点数:20 回复次数:4 
请问一下关于这一段排序去重的代码哪里出了问题
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void bubble_sort(int *arr,int len)
 {
    int i,j;
       for(i=0;i<len;i++){
           for(j=i+1;j<len;j++){
            if(arr[i]==arr[j]){
                arr[j]=arr[len-1];
                len--;
            }
        }}}//冒泡排序去重
int cmp1(const void *a,const void *b)
{
     return *(int *)a - *(int *)b;
}
int cmp2(const void *a,const void *b)
{
     return *(int *)b - *(int *)a;
}//升序降序函数
int main()
{   char judge;
scanf("%c",&judge);
    int a[1000];
    int x,i=0;
    while(scanf("%d",&x)!=EOF)
    {  a[i]=x;
    i++;}
    int num=0;
    int len=i;
  for(int j=0;j<i;j++){
           for(int k=j+1;k<i;k++){
            if(a[j]==a[k]){
                a[j]=a[len-1];
                len--;
                num++;
            }
        }}//本来不想重新写冒泡,但是为了找出去掉多少个元素我还是加了num变量,不知怎么改会更简便
bubble_sort(a,i-num);
if(judge=='A')
    qsort(a,i-num,sizeof(int),cmp1);
if(judge=='D')
    qsort(a,i-num,sizeof(int),cmp2);
    for(int j=0;j<i-num-1;j++)
        printf("%d ",a[j]);
    printf("%d",a[j-num-1]);
    return 0;
}
搜索更多相关主题的帖子: int void return const for 
2020-03-10 04:25
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
收藏
得分:0 


有 n 个 1 到 1000 之间的整数 (1≤n≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉。然后再按照指定的排序方式把这些数排序。
输入格式

第 1 行为字母 A 或 D,A 表示按照升序排序,D 表示按照降序排序。

第 2 行开始有若干个用一个空格或换行符分隔的正整数。
输出格式

相互之间用一个空格分隔的经去重和排序后的正整数。最后一个数后没有空格。
样例
Input

A
20 40 32 67 40 20 89 300 400 15

Output

15 20 32 40 67 89 300 400
PS:评分平台说我在第2个点就runtime error
我自己输入几个数连结果都看不到,我晕了

我想要两颗西柚。
2020-03-10 04:27
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
收藏
得分:0 
回复 3楼 wmf2014
刚睡醒,代入了一下是可以的,好厉害!
但是我还没学到这块,有点看不懂

我想要两颗西柚。
2020-03-10 08:02
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
收藏
得分:0 
回复 5楼 Knightl8
https://acm.ecnu.

我想要两颗西柚。
2020-03-10 08:19
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
收藏
得分:0 
回复 7楼 纯蓝之刃
明白了,因为刚学完qsort就被思维定式了,原来可以这样写,谢谢!

我想要两颗西柚。
2020-03-10 10:07
快速回复:请问一下关于这一段排序去重的代码哪里出了问题
数据加载中...
 
   



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

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