c语言有去重函数吗 c语言去除重复元素

C语言数组去除重复内容

#include stdio.h // 升序数组srcvoid sort(int *src, int len){    int tem;    for (int i = 0; i  len; i++)    {        for (int j = 0; j  len - i - 1; j++)            if (src[j]  src[j+1])            {                tem = src[j];                src[j] = src[j+1];                src[j+1] = tem;            }    }} int main(){    int num[10] = {0, 2, 5, 1, 1, 5, 4, 9, 2, 1}, d;    int i = 0, cnt;     sort(num, 10);  // 排序    d = num[0];    for (i = 1; i  10; i++) // 遍历比较    {        if (num[i] != d)        {            printf("%d ", d);            d = num[i];        }    }    if (num[9] == d)        printf("%d\n", d);    return 0;}

创新互联是一家专注于成都网站制作、成都做网站、外贸营销网站建设与策划设计,尤溪网站建设哪家好?创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:尤溪等地区。尤溪做网站价格咨询:18980820575

C语言编写一个函数,将字符串中连续重复出现的字符去除

C语言自定义函数,一次性去除连续重复字符,参考代码如下:

#includestdio.h

char *fun(char *str)

{

int i=1,j=0;

if(str==NULL)

return NULL;

if(str[0]==0)

return str;

while(str[i]!=0)

if(str[j]!=str[i])

str[++j]=str[i++];

else ++i;

str[j+1]=0;

return str;

}

int main()

{

char str[500];

gets(str);

puts(fun(str));

return 0;

}

c语言数组随机赋值且去重

//vs2013运行,根据条件如不可运行可添加#include "stdafx.h"

#include stdio.h

#include stdlib.h

#include time.h

#define LEN 8  //数组的长度,可更改

/*返回数组类型,参数1传入数组,参数2数组长度,参数3,随机数的阈值(上限值)*/

int* arr_rand(int nums[],int n,int lim)  

{

int i = 0;

int j;

enum mark {NO,YES};  //由于vs2013不支持bool类型,我采取枚举类型代替

enum mark flag;

srand((unsigned int)time(NULL));

while(i  n)

{

nums[i] = rand() % lim;

if(i  0)

{

flag = YES;

for(j = 0;j  i; j++)

{

if(nums[i] == nums[j])

{

flag = NO;

}

}

if(flag)

{

i++;

}

}

if(i == 0)  //放下边避免程序错误

{

i++;

}

}

return nums;

}

//测试函数,如需使用则在main函数中arr_rand_t();调用即可

void arr_rand_t()

{

int nums[LEN];

int i = 0;

int lim = 21;

arr_rand(nums,LEN,lim);

for(; i  LEN; i++)

{

printf("%d\n",nums[i]);

}

}


名称栏目:c语言有去重函数吗 c语言去除重复元素
转载注明:http://ybzwz.com/article/dddccdd.html