c语言中删除数组中一个数 c语言有n个整数,去除其中重复的数字?
c语言有n个整数,去除其中重复的数字?代码示例://只需调用函数trim#include<stdio。H>无效修剪(int arr[,int*PN){int i,J,kfor(I=0I<*
c语言有n个整数,去除其中重复的数字?
代码示例:
//只需调用函数trim
#include<stdio。H>
无效修剪(int arr[,int*PN)
{
int i,J,k
for(I=0I<*PNI)
{
for(J=I 1J<*PN)
{
if(arr[I]==arr[J])
{
]for(k=J 1K<*PNK)
arr[k-1]=arr[k
](*PN)-
}else
J
}else
J
}inter Main()
{
inti,n=20,arr[20]={12,12,2,203657001001366,12,12,50,50,50100525700700}
printf(“删除重复元素前的数组:”)
(I=0I<n-1i)
{
printf(%d”,arr[I])
}
printf(%dn”,arr[n-1])
trim(arr,&n)
printf(“删除重复元素后的数组:”)
(I=0I<n-1i)
{
printf“,arr[n-1])
}
printf(%dn”,arr[n-1])
返回0
}
C语言,删除数组中的重复数字然后输出?
#include<stdio。H>#包含<string。H>#define size delete uurepeat(char*str)voidbubble uSort(char*str)intmain(){charstr[size]get(str)delete repeat(str)bubble sort(str)puts(str)return0}//删除重复字符void delete repeat(char*str){/*1]}str[strlen(str)-1]=“0”I--}//bubble sort void bubbleusort(char*str){intswapchartempintk=strlen(str)do{swap=0for(inti=0i<k-1i){if(str[i]>str[i1]){swap=1temp=str[i]str[i]=str[i1]str[i1]=temp}K--}while(K>0&;swap)}扩展数据删除排序数组中的重复项。注意:不要使用额外的数组空间。必须就地修改输入数组并使用o(1)额外的空间,这意味着您无法通过创建新数组来解决问题。您可以考虑添加一个游标(名为:index)来遍历整个数组。当前者和后者不相等时,光标将自动添加。这样就可以直接跳过同一个元素而不进行统计,最后返回“cursor size 1”(即非重复元素的个数)。