当前位置:首页 » 编程语言 » 判断是否有重复的方法c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

判断是否有重复的方法c语言

发布时间: 2022-10-21 13:02:10

‘壹’ c语言数组判断是否有重复元素

这是方法定义,num是参数,在调用方法的时候会传值的,参数值不是在方法里定义的。

‘贰’ 判断数组内部重复元素除了嵌套循环还有什么办法 C语言

你这个代码就是检查有没有重复元素,所以只要检查到一旦有重复就应该退出循环;因为有一个重复是重复,有10个100个重复还是重复,所以一旦有了重复就没有必要向下再做了。给你提供一个试试看行不行——

#include"stdio.h"
#include<stdlib.h>
intmain(intargc,char*argv[]){
int*q,i,j,k,n;
printf("Pleaseentern(intn>0)... n=");
if(scanf("%d",&n)!=1||n<1){
printf("Inputerror,exit... ");
return0;
}
if((q=(int*)malloc(sizeof(int)*n))==NULL){
printf("Applicationmemoryfailure... ");
return0;
}
printf("Pleaseenter%dintegers... ",n);
for(i=0;i<n;scanf("%d",q+i++));
for(k=i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(q[i]==q[j])
k=j=i=n;
free(q);
printf(k?"Yes! ":"No! ");
return0;
}

运行样例:

‘叁’ C语言,判断某整数中是否存在重复数字。怎么写呢

#include<stdio.h>

#include<stdbool.h>

intmain()

longintnum,temp;

inti=1;

printf("请输入一个整数:");

scanf("%ld",&num);

temp=num;

//获取所输入整数的位数。

while(temp/10>0){

i+=1;

temp=temp/10;

//打印所输入整数的位数,并定义一个bool型数组。

printf("该数为%d位数。\n",i);

boola[i+1];

//初始化数组中所有元素为0.

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

a[j]=0;

//判断是否有重复的数字。

<spanstyle="color:#ff0000;">do{

intn=num%10;

if(a[n]==1){

printf("出现重复了。\n");

break;

a[n]=1;

num/=10;

}while(num);</span>

if(num==0){

printf("没有重复。\n");

return0;

(3)判断是否有重复的方法c语言扩展阅读:

return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。 return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。

如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。

如果函数名前有返回类型定义,如int,double等就必须有返回值,而如果是void型,则可以不写return,但这时即使写了也无法返回数值。


‘肆’ 怎样用C语言判断一个整数中有没有重复的数

直接手打,没有调试,你看看吧,思路很简单

boolhehe(intsum)
{
inta[10]={0};//弄个数组,把0-9都存起来
//假设你的数字是num
while(sum)
{
ints=sum%10;//这就能获取最小的一位的数字
a[s]++;
boolflag=find(a,10);
if(!bool)
returntrue;//不好意思,发现了又重复的数字,直接返回结果
s/=10;
}
returnfalse;//这里说明了没有重复的数值
}
//再弄个函数,检测出现的次数
boolfind(inta[],intn)
{
for(inti=0;i<n;i++)
{
if(a[i]==1||a[i]==0)continue;
else
returnfalse;
}
returntrue;
//返回真的,表示暂时没有重复的值
}

// 这是之前的代码,突然想到完全没必要这个,在o(n)的复杂度就可以实现的

boolhehe(intsum)
{
inta[10]={0};//弄个数组,把0-9都存起来
//假设你的数字是num
while(sum)
{
ints=sum%10;//这就能获取最小的一位的数字
a[s]++;
//修改的地方在这里!!!至于那下面的函数则完全可以不用,这种方法,有点类似于hash的想法
if(a[s]>1)returntrue;
/*
if(!bool)
returntrue;//不好意思,发现了又重复的数字,直接返回结果
*/
s/=10;
}
returnfalse;//这里说明了没有重复的数值
}

‘伍’ c语言,判断一个整数中是否出现重复数字

#include <stdio.h>

#include<stdbool.h>

int main()

{

long int num,temp;

int i=1;

printf("请输入一个整数:");

scanf("%ld",&num);

temp = num; //获取所输入整数的位数。

while(temp/10>0){

i+=1;

temp = temp/10;

} //打印所输入整数的位数,并定义一个bool型数

printf("该数为%d位数。 ",i);

bool a[i+1]; //初始化数组中所有元素为0

for(int j=0;j<i+1;j++){

a[j] = 0;

} //判断是否有重复的数字。

<span style="color:#ff0000;">do{

int n = num % 10;

if(a[n]==1){

printf("出现重复了。 ");

break;

}

a[n] = 1;

num /= 10;

}while(num);</span>

if(num==0){

printf("没有重复。 ");

}

return 0;

}

(5)判断是否有重复的方法c语言扩展阅读

使用其他的方法判断一个整数中是否出现重复数字:

int x;

printf("请输入一个数:");

scanf("%d",&x);

bool bs[10]={0};

do {

int n=x%10;

if ( bs[n] ==1 )

{

printf("重复了 ");

break;

}

bs[n] = 1;

x/=10;

}

while (x);

if ( 0==x )

{

printf("没有重复 ");

}

return 0;

‘陆’ C语言中判断两个字符串是否相同的方法

C语言提供了几个标准库函数,可以比较两个字符串是否相同。以下是用strcmp()函数比较字符串的一个例子:

#include <stdio. h>
#include <string. h>
void main (void);
void main(void)
{
char* str_1 = "abc" ; char * str_2 = "abc" ; char* str_3 = "ABC" ;
if (strcmp(str_1, str_2) == 0)
printf("str_1 is equal to str_2. \n");
else
printf("str_1 is not equal to str_2. \n");
if (strcmp(str_1, str_3) == 0)
printf("str_1 is equal to str_3.\n");
else
printf("str_1 is not equalto str_3.\n");
}

上例的打印输出如下所示:
str_1 is equal to str_2.
str_1 is not equal to str_3.

strcmp()函数有两个参数,即要比较的两个字符串。strcmp()函数对两个字符串进行大小写敏感的(case-sensitiVe)和字典式的(lexicographic)比较,并返回下列值之一:
----------------------------------------------------
返 回 值 意 义
----------------------------------------------------
<0 第一个字符串小于第二个字符串
0 两个字符串相等 ·
>0 第一个字符串大于第二个字符串
----------------------------------------------------
在上例中,当比较str_1(即“abc”)和str_2(即“abc”)时,strcmp()函数的返回值为0。然而,当比较str_1(即"abc")和str_3(即"ABC")时,strcmp()函数返回一个大于0的值,因为按ASCII顺序字符串“ABC”小于“abc”。
strcmp()函数有许多变体,它们的基本功能是相同的,都是比较两个字符串,但其它地方稍有差别。下表列出了C语言提供的与strcmp()函数类似的一些函数:
-----------------------------------------------------------------
函 数 名 作 用
-----------------------------------------------------------------
strcmp() 对两个字符串进行大小写敏感的比较
strcmpi() 对两个字符串进行大小写不敏感的比较
stricmp() 同strcmpi()
strncmp() 对两个字符串的一部分进行大小写敏感的比较
strnicmp() 对两个字符串的一部分进行大小写不敏感的比较
-----------------------------------------------------------------
在前面的例子中,如果用strcmpi()函数代替strcmp()函数,则程序将认为字符串“ABC”等于“abc”。

‘柒’ C语言中,怎样判断一个数组中是否有重复元素呢最好用程序实现

import org.apache.commons.lang.ArrayUtils;

public boolean isDupInArray(Object[]array){

if(ArrayUtils.isEmpty(array)==true){

return false;

}

for(Object obj:array){

if(ArrayUtils.indexOf(array,obj)!=ArrayUtils.lastIndexOf(array,obj)){

return true;

}

}

return false;

}

(7)判断是否有重复的方法c语言扩展阅读:

Return用法

1.含义:return表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,返回值可以是一个常量,变量,或是表达式。

2.作用:结束正在运行的函数,并返回函数值。

3.返回值:

计算结果表示函数执行的顺利与否(-1、0)

返回值可以为各种数据类型,如:int,float,double,char,a[](数

组),*a(指针),结构或类(c++)

返回类型规定了return后面所加的量的类型,如果返回类型声明为

void,则不需要返回值。public static void Main()//程序入口只可以声

明为void和int的返回

{

//不需要返回值就OK

}

public static void mm()

{

return;//有些时候,在void的方法中,你需要跳出它,可以直接

用return而不能加任何量在后面

}

public static int cc()

{

return 321;//因为返回类型声明为int,所以返回一个整数

}

public static string msmsm()

{

return“asdfhasjghdg”;//因为返回类型声明为string,所以返回一个字

符串

}

‘捌’ C语言用数组检查一组数字中是否有重复

//判定一个数组中是否存在相同的数。
//拿每个数和它后面所有的数比较,有相同的就返回真。
//全部比较完都没有相同的就返回假。
intHasIdentical(constint*arr,intn)
{
inti=0,j=0;
for(i=0;i<n;++i)
{
for(j=i+1;j<n;++j)
{
if(arr[i]==arr[j])
{
return1;
}
}
}

return0;
}

//按照你的意思,这个函数可以这样改写:
intjudgement(inta,intb,intc,intd,inte,intf,intg,inth,inti)
{
intarr[9]={0};
arr[0]=a;arr[1]=b;arr[2]=c;arr[3]=d;arr[4]=e;
arr[5]=f;arr[6]=g;arr[7]=h;arr[8]=i;

return!HasIdentical(arr,9);
}

‘玖’ C语言,判断某整数中是否存在重复数字.怎么写

把整数的每位上的数计算出来 通过%10然后再判断

#include "stdio.h"
int main()
{
int i,j,n;
bool tag[10];
printf("输入整数:");
scanf("%d",&n);
for(i=0;i<10;i++)tag[i]=false;
j=n;
while(j){
if(tag[j%10])break;
tag[j%10]=true;
j=j/10;
}
if(j)printf("整数%d有重复的数字",n);
else printf("整数%d没有重复的数字",n);
return 0;
}

‘拾’ C语言判断数组是否重复,

chachong(a[6]);//函数调用int
chachong(int
a[]);//函数声明这问题需要楼主了解数组知识a[6]只是一个值;而且是一个未定义的值;因为数组a不存在下标为6的元素;建议改为chachong(a);//函数调用int
chachong(int
*a);//函数声明