当前位置:首页 » 编程语言 » C语言中去除数组中相同数字
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

C语言中去除数组中相同数字

发布时间: 2022-07-01 16:42:56

c语言删除数组重复数字

#include "stdio.h"

#include "string.h"

void main()

{

int i,k=1,j=10,a[10]={4,4,4,4,5,4,9,9,9,10};

for(k=i=1;i<10;i++)

{

for(j=0;j<k;j++)

{

if(a[j]==a[i]) break;

}

if(j==k) a[k++]=a[i];

}

printf(" ");

for(i=0;i<k;i++)

{

printf(" %d ",a[i]);

}

(1)C语言中去除数组中相同数字扩展阅读:

printf()函数的调用格式为:printf("&lt;格式化字符串&gt;",&lt;参量表&gt;)。

其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。

比如:

int a=1234;

printf("a=%d ",a);

输出结果为a=1234。

scanf()是C语言中的一个输入函数。与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include&lt;stdio.h&gt;。

int scanf(const char*restrict format,...);

函数scanf()是从标准输入流stdin(标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。

❷ c语言 删除数组中内容相同的数据,比如数组2,2,3,3,4

提问者没有把问题叙述清楚。如果照例子一样,所有的相同的数字都是连在一起的,那么这个操作就比较简单。把每个相同的数字只取一个,然后向后移到不同的数字为止,再把这个不同的数字向前复制。最后记录下不同数字的个数,有几个就可以了。

❸ c语言 去掉数组中重复的元素····求帮助

说的不是很清楚,数组定义的时候就删除?看来你对数组的操作还不是很清楚,应该是在数据写入数组的时候将其删除吧。你可以这样,如果数组不大,在写入数据的时候先遍历一遍数组看看数组中是否有该数据,如果有那么就不把数据写入数组,如果没有就接着最后一个元素写入数组就可以了。

❹ C语言中数组中删除相同的数

在第一个空中填i,第二个空中填a+j.
当找到相同的
元素
时,将位置记录到j的初始,并将后继元素依次前移覆盖相同的元素.
祝学业进步.

❺ c语言中怎样将数组中的所有相同的数都删除

可以先排个序,然后相邻元素比较,相同的就通过后边的向前移动来去掉, 最后参用链数的数组这个插入删除方便且时间少。

❻ C语言中,如何用删除法删除数组中相同的数字

#include<stdio.h>

intdel_same(intdate[],intn);

intdel_same(intdate[],intn)

{

inti,j,k=0;

for(i=0;i<n;++i)//i用来遍历数组

{

for(j=i+1;j<n&&date[i]-date[j];++j);

if(!(j-n))//没有重复元素

date[k++]=date[i];//可将date[]看作两个数组

}

returnk;//返回删除后的有效长度

}

intmain(void)

{

intdate[1001],i,j,k,n;

printf("输入数据个数:");

scanf("%d",&n);

printf("输入数据:");

for(i=0;i<n;++i)

scanf("%d",date+i);

k=del_same(date,n);

for(i=0;i<k;++i)

printf("%-5d",date[i]);

return0;

}

(6)C语言中去除数组中相同数字扩展阅读

C语言在数组中删去指定数字

#include<stdio.h>

#include<string.h>

intmain()

{

intn;

scanf("%d",&n);

intarray[10];

intarray_1[10];

intj=0;

for(inti=0;i<10;i++)

{

scanf("%d",&array[i]);

}

for(inti=0;i<10;i++)

{

if(array[i]!=n)

{

array_1[j]=array[i];

++j;//此时j++也是可以的;

}

}

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

{

printf("%d",array_1[i]);

}

return0;

}

❼ C语言问题 把一个数组中的重复元素去掉

1、首先,点击桌面上的VC++6.0,打开软件。

❽ C语言删除一个整型数组里面重复的元素

利用双重循环,将每个值依次与其后面的值相比较,如果有相同的则删除该元素即可。

删除时,可以使用将后面元素依次向前移动一位,同时总长度减一的方式。

参考代码如下:

intremove_repeat(int*a,intl)
{
inti,j,k;

for(i=0;i<l;i++)
{
for(j=i+1;j<l;j++)//对后面每个元素比较,去重。
{
if(a[j]==a[i])//发现重复元素。
{
for(k=j+1;k<l;k++)//依次前移一位。
a[k-1]=a[k];
l--;//总长度减一。
}
}
}

returnl;//返回新的长度值。
}

❾ C语言中怎么删除数组中相同的数字

#include <stdio.h>#include <stdlib.h>#include <time.h> int simplification(int a[], int n) { int i,j,k; for(i = 0; i < n - 1; ++i) { for(j = i + 1; j < n; ++j) { if(a[i] == a[j]) { for(k = j; k < n - 1; ++k) a[k] = a[k + 1]; --j; --n; } } } return n;} int main() { int a[30],i,n = 30; printf("原数组:\n"); srand((unsigned)time(NULL)); for(i = 0; i < n; ++i) { a[i] = rand()%10; if(i && i % 10 == 0) printf("\n"); printf("%d ",a[i]); } printf("\n"); n = simplification(a,n); printf("去除相同元素后:\n"); for(i = 0; i < n; ++i) { if(i && i % 10 == 0) printf("\n"); printf("%d ",a[i]); } printf("\n"); return 0;}