导航:首页 > 编程语言 > 编程怎么去掉相同的数

编程怎么去掉相同的数

发布时间:2022-09-19 10:18:40

A. 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)编程怎么去掉相同的数扩展阅读:

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(标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。

B. 跪求高人帮我一个C语言编程,从A、B数列中删除相同数的算法

lovelywizard的思路不错,把他的思路用C语言实现如下:

#include<stdio.h>

#defineMAXN10/*数列的最大个数*/

intInputArr(charname,int*x)

{inti,count;

printf("%c数列大小:",name);

scanf("%d",&count);

printf("请输入数列%c的元素,共有%d个元素:",name,count);

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

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

returncount;

}

voidDelArrAt(int*x,int*pn,intpos)

{inti;

for(i=pos;i<*pn-1;i++)

x[i]=x[i+1];

*pn=*pn-1;

}

intDelFromArr(int*x,int*pn,inty)

{inti;

for(i=0;i<*pn;i++)

if(x[i]==y)

{DelArrAt(x,pn,i);

return1;

}

return0;

}

voidPrtArr(charname,int*x,intn)

{inti;

printf("%c数组为:",name);

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

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

printf(" ");

}

main()

{

inta[MAXN],b[MAXN],n,m,i;

charaTag[MAXN]={0};/*对应于a数组的删除逻辑尺,0--不删除,1--要删除*/

n=InputArr('a',a);

m=InputArr('b',b);

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

if(DelFromArr(b,&m,a[i]))aTag[i]=1;

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

{if(aTag[i])DelArrAt(a,&n,i);

}

PrtArr('a',a,n);

PrtArr('b',b,m);

}

C. 一个数组中有n个数,编写程序去除其中重复的数字(重复数字值保留1个),并输出结果。

#include<stdio.h>
#defineN9

intmain()
{
intnumber[N]={-1};
intpos=0,input=0,i=0;
while(input++<N)
{
intn=0,repeat=0;
scanf("%d,",&n);
for(i=0;i<pos;++i)
{
if(n==number[i])
{
repeat=1;
break;
}
}
if(!repeat)number[pos++]=n;
}
for(i=0;i<pos;++i)printf("%d",number[i]);
return0;
}

D. python列表怎么去掉相同的数

利用set()函数,可以将列表去重,如:
s = [1, 3, 3, 5, 7, 7, 8, 9]
set(s) #输出为{1, 3, 5, 7, 8, 9}
list(set(s)) #输出 [1, 3, 5, 7, 8, 9]

E. excel 用VBA如何删除一列中的重复数据

1、打开要进行数据处理的表格,

F. c语言排序后删除数组中重复的数字再排序输出

#include<stdio.h>

#include<string.h>

#defineSIZE81

voiddelete_repeat(char*str);

voidbubble_sort(char*str);

intmain()

{

charstr[SIZE];

gets(str);

delete_repeat(str);

bubble_sort(str);

puts(str);

return0;

}

//删除重复字符

voiddelete_repeat(char*str)

{

/**判断数组内第i个字符是否与前i-1个字符存在重复:

若重复,删除该字符,i之后的字符下标均减1,后重新判断新的第i个字符

若不重复,不做处理,继续遍历下一个

*/

for(inti=1;str[i]!='';i++){

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

{

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

{

for(intk=i;k<strlen(str)-1;k++)

{

str[k]=str[k+1];

}

str[strlen(str)-1]='';

i--;

}

}

}

}

//冒泡排序

voidbubble_sort(char*str)

{

intswap;

chartemp;

intk=strlen(str);

do{

swap=0;

for(inti=0;i<k-1;i++){

if(str[i]>str[i+1])

{

swap=1;

temp=str[i];

str[i]=str[i+1];

str[i+1]=temp;

}

}

k--;

}while(k>0&&swap);

}

(6)编程怎么去掉相同的数扩展阅读

删除排序数组中的重复项注意事项

不要使用额外的数组空间,必须在原地修改输入数组并在使用O(1)额外空间的条件下完成,意味着不能通过新建数组存放的方式解决。

可以考虑增加一个游标的方式(命名为:index),遍历整个数组,当遇到前一个和后一个不相等的时候就给游标自增,这样的话对于相同的元素可以直接跳过不统计,最后返回”游标的大小+1“(也即不重复的元素的个数)。

G. 从键盘输入10个数,删除相同的数,用C语言怎样编程

只说思路。
将这些数保存到一个数组里。
然后从第1个开始挨个跟后面的数相比较,如果有一样的就将那个数后面的所有的数赋给它们前面的数,将数组下标减1.
最后按照下标大小循环输出这个数组就可以了。

H. C++中怎么去掉一个数组中重复的数,求高手解答。

1,创建二个int型数组,一个保存你从键盘上输入的数,另一个用于排序
2,循环
3,如果遇到相同的,continue,进行下一个
4,如果不相同,进入第二个循环:把这个数和第二个数组的数进行比较,比其小的话比较下一个,大的话和其交换,然后拿交换后的数,比较下一个
5,第二个数组中的数,就是从大到小并且没有重复的数字

I. c++问题,删除数据中重复的数据

你的程序错误很大,把整型数组当作字符串数组来对待了!
在你的基础上进行了优化,自己研究一下吧
#include<iostream>
usingnamespacestd;
#defineNMAX500
intmain(){
inta[NMAX],i,j,k,c;
while(cin>>a[0]){
for(i=1;i<NMAX;i++)
{
cin>>a[i];
if(cin.get()==' ')break;
}
c=i+1;

for(i=0;i<c;i++)
for(j=i+1;j<c;j++)
if(a[i]==a[j])
{
for(k=j;k<c-1;k++)a[k]=a[k+1];
c--;//数组长度减小1
j--;//要再从原j位置开始检查,不然有两个相邻的数与a[i]相同会漏掉
}
for(i=0;i<c-1;i++)cout<<a[i]<<"";
cout<<a[c-1]<<endl;
}
return0;
}

J. c++编写程序删除一个一维数组中相同的多余元素,即值相同的元素只保留一个

#include <stdio.h>

int a(int b[],int n);

void inout(int a[],int n);

void inout(int a[],int n)

{

int i;

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

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

}

int a(int b[],int n)

{

int i,j,k;

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

{

for(j=i+1;j<n;j++)

{

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

{

--n;

for(k=j;k<n-1;k++)

{

b[k]=b[k+1];

}

}

}

}

return n;

}

int main()

{

int i;

int n;

int b[100]={1,2,4,3,5,6,3,8,8,4};

n=10;

n=a(b,n);

inout(b,n);

printf("%d ",n);

}

(10)编程怎么去掉相同的数扩展阅读:

main()函数用法:

大多数UNIX系统对main函数提供了三个参数,原型如下:

intmain(intargc,char*argv[],char*env[]);

其中第三个参数是环境表地址。

ANSIC规定main函数只有两个参数,而且第三个参数与全局变量environ相比也没有带来更多益处,所以POSIX.1也规定应使用environ而不使用第三个参数。

通常用getenv和putenv函数来存取特定的环境变量,而不是用environ变量。

main函数的原型多是下面这种形式:

intmain(intargc,char*argv[]),参数argc代表了输入参数的个数,char*argv[]表示传入的参数的字符串,是一个字符串数组。

例如在linux平台下编写一个小程序:

int main(intargc,char*argv[])

int i;

printf("argc:%d\n",argc);

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

printf("argv[%d]:%s\n",i,argv[i]);

exit(0);

用gcc编译后形成一个a.out的可执行的文件,运行a.out,其结果是:

argc=1,argv[0]=”a.out”

运行的程序的文件名,也占用一个参数位置,也就是说argv数组中的第一个单元指向的字符串总是可执行程序的名字,以后的单元指向的字符串依次是程序调用时的参数。这个赋值过程是操作系统完成的,只需要拿来用就可以了。

命令行参数的提交中,系统会自动给指针数组后加上一个NULL,所以for(i=0;i<argc;i++)这句也可以换成while(*argv!=NULL)

int main(intargc)省略其它参数的定义也是可以的,这样运行时候argc就直接返回参数个数,而不返回其它。

运行命令行参数带有char*argv[]的时候,如果输入参数带有空格,应该用双引号括起来。

阅读全文

与编程怎么去掉相同的数相关的资料

热点内容
幽冥诡匠漫画全集用什么app可以看 浏览:1001
租用服务器为什么越来越慢 浏览:960
算法创新就业方向 浏览:423
算法最优解作者 浏览:867
通达信红绿宝塔线指标源码 浏览:666
app是什么东西合法吗 浏览:231
怎么锁app视频教程 浏览:841
迅捷pdf注册码生成器 浏览:748
androidsdkosx 浏览:302
压缩面膜纸荧光 浏览:841
app怎么分身三个 浏览:744
电影bt下载源码 浏览:421
iwatch屏幕加密芯片 浏览:570
公安主题网站源码 浏览:986
天津市服务器供应商云服务器 浏览:115
数控车床子程序编程 浏览:111
floydwarshall算法 浏览:717
丢失微信app怎么找 浏览:252
php能写前端吗 浏览:9
服务器如何更改raid模式 浏览:92