當前位置:首頁 » 編程語言 » c語言檢查一組數字重復
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言檢查一組數字重復

發布時間: 2022-04-28 05:32:52

『壹』 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)

『貳』 怎樣用C語言判斷一個整數中有沒有重復的數

用C語言判斷一個整數中有沒有重復的數的具體操作步驟如下:

1、編寫頭函數:#include <stdio.h>。

『叄』 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語言,判斷一個整數中是否出現重復數字

#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;

}

(4)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語言如何判斷一個數組中重復元素的個數,並輸出這個個數的值

如下:

#include<stdio.h>
#include<stdlib.h>
intmain()
{
intn;
int*a;
inti;
scanf("%d",&n);
a=(int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n-1;i++)
{
for(intj=0;j<n-i-1;j++)
{
if(a[j]>a[j+1])
{
inttmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
inttmp=a[0];
intcount=1;
for(i=1;i<n;i++)
{
if(tmp==a[i])
{
count++;
}
else
{
if(count>1)
{
printf("數組共有%d個數字%d ",count,a[i-1]);
}
tmp=a[i];
count=1;
}
}
if(count>1)
{
printf("數組共有%d個數字%d ",count,a[i-1]);
}
free(a);
return0;
}

我的思路是,先排序,再輸出。

『陸』 C語言用數組檢查一組數字中是否有重復,一個程序,怎麼改成結果為YES或NO

int HasIdentical(const int* arr, int n)
{
int i = 0, j = 0;
for (i = 0; i < n; ++i)
{
for (j = 0; j < n && j != i; ++j)
{
if (arr[i] == arr[j])
{
return 1;
}
}
}

return 0;
}

『柒』 C語言問題,關於檢查數中重復出現的數字 循環中的的語句希望高手解釋下

取這個數的個位,存在digit里,看是不是出現過,如果出現過,就退出,沒有出現過就記錄「出現過」,最後除以10,就相當於把個位去掉,原來的十位變成個位,百位變成十位……
digit_seen[i]里記錄的是bool變數,只有真和假,用來表示
i
這個數字是不是出現過
例如個位是5,那就判斷digit_seen[5]存的是true
還是
false
。如果是true,說明5已經是第二次出現了,如果是false
,就記錄下,以便下次再看見5就判斷「出現重復了」

『捌』 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語言,判斷某整數中是否存在重復數字。怎麼寫呢

#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;

(9)c語言檢查一組數字重復擴展閱讀:

return 表示從被調函數返回到主調函數繼續執行,返回時可附帶一個返回值,由return後面的參數指定。 return通常是必要的,因為函數調用的時候計算結果通常是通過返回值帶出的。

如果函數執行不需要返回計算結果,也經常需要返回一個狀態碼來表示函數執行的順利與否(-1和0就是最常用的狀態碼),主調函數可以通過返回值判斷被調函數的執行情況。

如果函數名前有返回類型定義,如int,double等就必須有返回值,而如果是void型,則可以不寫return,但這時即使寫了也無法返回數值。


『拾』 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;

}

(10)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,所以返回一個字

符串

}