當前位置:首頁 » 編程語言 » 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)