【c】序列中整数去重

数组中的元素不好直接删除,我们可以把重复的数做标记,将他赋值为0,然后正常打印数组,为0的跳过

cs 复制代码
#include<stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int arr[n+1];
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&arr[i]);
	}
	for(int j=1;j<=n-1;j++)
	{
		for(int k=j+1;k<=n;k++)
		{
			if(arr[j]==arr[k])
			arr[k]=0;
		}
	}
	int m=1;
	while (m<=n)
	{
		if(arr[m]!=0)
		printf("%d ",arr[m]);
		m++;
	}
	return 0;
}
相关推荐
黑听人3 小时前
【力扣 困难 C】329. 矩阵中的最长递增路径
c语言·leetcode
YuTaoShao5 小时前
【LeetCode 热题 100】141. 环形链表——快慢指针
java·算法·leetcode·链表
JeffersonZU5 小时前
Linux/Unix 套接字Socket编程(socket基本概念,流程,流式/数据报socket,Unix domain socket示例)
linux·c语言·tcp/ip·udp·unix·gnu
小小小新人121236 小时前
C语言 ATM (4)
c语言·开发语言·算法
你的冰西瓜7 小时前
C++排序算法全解析(加强版)
c++·算法·排序算法
এ᭄画画的北北7 小时前
力扣-31.下一个排列
算法·leetcode
绝无仅有8 小时前
企微审批对接错误与解决方案
后端·算法·架构
无限远的弧光灯8 小时前
c语言学习_函数递归
c语言·开发语言·学习
用户5040827858399 小时前
1. RAG 权威指南:从本地实现到生产级优化的全面实践
算法