當前位置:首頁 » 編程語言 » 判斷是否有重復的方法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);//函數聲明