嘛哩嘛哩哄769 2021-12-03 22:00 采纳率: 75%
浏览 64
已结题

C语言去重处理看看哪错了呢

//去重处理
//Description
//给定整数n(n<100 000),然后输入n个0到1000的整数,这n个整数可能包含重复数字,请你将这n个数字从小到
//大进行输出(忽略重复数字)。
//Input
//输入包括两行第一行:输入一个正整数n(n<100000) 第二行:输入n个0到999的整数
//Output
//一行:这n个数字从小到大进行输出(忽略重复数字)
//Sample Input
//8
//1 2 5 2 4 5 6 5
//Sample Output
//1 2 4 5 6
#include<stdio.h>
#define N 1000
void InputArr(int arr[],int n);
void SortArr(int arr[],int n);
void PrtArr(int arr[],int n);
int main(void)
{
int a[N];
int n;
scanf("%d",&n);
InputArr(a,n);
SortArr(a,n);
PrnArr(a,n);
return 0;
}
void PrnArr(const int arr[],int n)
{
int i;
for(i=0;i<n;i++)
{
if(i==0)
printf("%d ",arr[i]);
else
if(arr[i] != arr[i-1])
printf("%d",arr[i]);
}
printf("\n");
}

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-12-03 22:25
    关注

    供参考:

    #include<stdio.h>
    #define N 1000
    void InputArr(int arr[],int n);
    void SortArr(int arr[],int n);
    void PrnArr(const int arr[],int n);  //void PrtArr(int arr[],int n);
    int main(void)
    {
        int a[N]={1,2,2,4,5,5,5,6};
        int n=8;
        //scanf("%d",&n);
        //InputArr(a,n);
        //SortArr(a,n);
        PrnArr(a,n);
    
        return 0;
    }
    void PrnArr(const int arr[],int n)
    {
        int i;
        for(i=0;i<n;i++)
        {
           if(i==0)
              printf("%d",arr[i]);
           else if(arr[i] != arr[i-1])
              printf(" %d",arr[i]);
        }
        printf("\n");
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月12日
  • 已采纳回答 12月4日
  • 创建了问题 12月3日

悬赏问题

  • ¥15 求推荐发表需要付费的深度学习遥感场景分类SCI期刊
  • ¥15 无法在java控制台录入文字
  • ¥15 flutter网页应用用python的http服务器访问速度慢
  • ¥15 VESTA绘图原子颜色显示异常
  • ¥15 天翼云搭建多ip l2tp
  • ¥15 python实现CAD识图
  • ¥15 如何实现在renpy中创建并应用不同大小尺寸对话框?
  • ¥15 table表格有一列是固定列 滑动到最下面时 固定的那一列有几行没显示出来
  • ¥20 单细胞数据注释时报错
  • ¥15 vscode编译ros找不到头文件,cmake.list文件出问题,如何解决?(语言-c++|操作系统-linux)