//去重处理
//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");
}
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
C语言去重处理看看哪错了呢
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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"); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥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)