c语言 将一个有序整数数组中重复的数删得只剩一个。

来源:百度知道 编辑:UC知道 时间:2024/07/06 16:13:18
将一个有序整数数组中重复的数删得只剩一个。如1,2,2,2,5,5,6删成1,2,5,6。

I'll show you.
See my code below.

#include <stdio.h>

int main(){
int a[] = {1,2,2,2,5,5,6};
int len = 7;
int i,j = 0;
if(len > 0){

for(int i=1;i<len;i++)if(a[i] != a[j]){
a[++j] = a[i];
}

len = j+1;
for(i=0;i<len;i++){
printf("%d ",a[i]);
}
printf("\n");
}
return 0;
}

以下这个程序,你可以更改a[]数组里的值,只要再把#define I 7里的7改成a[]数组的大小就成了。不知道你还满意吧。

#include "stdio.h"
#define I 7

main()
{
int a[I]={1,2,2,2,5,5,6},i,j,t,k=0,b[I];
for(i=0;i<(I-1);i++)
{
if(a[i+1]>a[i])
t=a[i+1];
}
for(j=0;j<=t;j++)
{
for(i=0;i<I;i++)
{
if(a[i]==j)
{
b[k]=a[i];k++;break;
}
}
}
printf(&qu