当前位置:首页 » 编程语言 » c语言中重复问题求解
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言中重复问题求解

发布时间: 2023-03-15 01:34:18

c语言求重复数字问题

#define N 100//可以修改这个数,定义一个足够长的数组
#include<stdio.h>
#include<string.h>
int main()
{
int a[N],i,j,m;
scanf("%d",&m);//输入m个数
getchar();//接收Enter键
for(i=0;i<m;i++)
scanf("%d",a+i);
getchar();
for(i=0;i<m;i++)
for(j=i;j<m;j++)
if(a[i]==a[j]&&a[j]!=-1)//把相同的数置为-1,输出时就不要输出了,
//也可以重新定义一个数组复制过去
a[j]=-1;
for(i=0;i<m;i++)
if(a[i]!=-1)
printf("%2d",a[i]);
putchar('\n');
return 0;
}

Ⅱ C语言,查找数组里重复出现的数字;

检查一个数中每位的数字是否重复,
n%10来得到当前最小位的值,
每次迭代都n/=10 ,使得数字都向右移动一位
n>0来检测是否已经检测完了。
比如123这个数;
n%10
==
3,说明3已经出现,所以digit_seen[3]
==
true了,如果检测到digit_seen[3]
==
true,说明已经有3这个数字了,就重复了,所以就直接跳出循环,此时n!=0,再通过检测n就可以判断了。
n/=10来将数字向右移动一位,这个时候n
==
12
继续前两步,直到n=0(因为任何小于等于9的整形数除以10都是0)