當前位置:首頁 » 編程語言 » C語言中去除數組中相同數字
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

C語言中去除數組中相同數字

發布時間: 2022-07-01 16:42:56

c語言刪除數組重復數字

#include "stdio.h"

#include "string.h"

void main()

{

int i,k=1,j=10,a[10]={4,4,4,4,5,4,9,9,9,10};

for(k=i=1;i<10;i++)

{

for(j=0;j<k;j++)

{

if(a[j]==a[i]) break;

}

if(j==k) a[k++]=a[i];

}

printf(" ");

for(i=0;i<k;i++)

{

printf(" %d ",a[i]);

}

(1)C語言中去除數組中相同數字擴展閱讀:

printf()函數的調用格式為:printf("&lt;格式化字元串&gt;",&lt;參量表&gt;)。

其中格式化字元串包括兩部分內容:一部分是正常字元,這些字元將按原樣輸出;另一部分是格式化規定字元,以"%"開始,後跟一個或幾個規定字元,用來確定輸出內容格式。

參量表是需要輸出的一系列參數,其個數必須與格式化字元串所說明的輸出參數個數一樣多,各參數之間用","分開,且順序一一對應,否則將會出現意想不到的錯誤。

比如:

int a=1234;

printf("a=%d ",a);

輸出結果為a=1234。

scanf()是C語言中的一個輸入函數。與printf函數一樣,都被聲明在頭文件stdio.h里,因此在使用scanf函數時要加上#include&lt;stdio.h&gt;。

int scanf(const char*restrict format,...);

函數scanf()是從標准輸入流stdin(標准輸入設備,一般指向鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字元,並保存在對應地址的變數中。

❷ c語言 刪除數組中內容相同的數據,比如數組2,2,3,3,4

提問者沒有把問題敘述清楚。如果照例子一樣,所有的相同的數字都是連在一起的,那麼這個操作就比較簡單。把每個相同的數字只取一個,然後向後移到不同的數字為止,再把這個不同的數字向前復制。最後記錄下不同數字的個數,有幾個就可以了。

❸ c語言 去掉數組中重復的元素····求幫助

說的不是很清楚,數組定義的時候就刪除?看來你對數組的操作還不是很清楚,應該是在數據寫入數組的時候將其刪除吧。你可以這樣,如果數組不大,在寫入數據的時候先遍歷一遍數組看看數組中是否有該數據,如果有那麼就不把數據寫入數組,如果沒有就接著最後一個元素寫入數組就可以了。

❹ C語言中數組中刪除相同的數

在第一個空中填i,第二個空中填a+j.
當找到相同的
元素
時,將位置記錄到j的初始,並將後繼元素依次前移覆蓋相同的元素.
祝學業進步.

❺ c語言中怎樣將數組中的所有相同的數都刪除

可以先排個序,然後相鄰元素比較,相同的就通過後邊的向前移動來去掉, 最後參用鏈數的數組這個插入刪除方便且時間少。

❻ C語言中,如何用刪除法刪除數組中相同的數字

#include<stdio.h>

intdel_same(intdate[],intn);

intdel_same(intdate[],intn)

{

inti,j,k=0;

for(i=0;i<n;++i)//i用來遍歷數組

{

for(j=i+1;j<n&&date[i]-date[j];++j);

if(!(j-n))//沒有重復元素

date[k++]=date[i];//可將date[]看作兩個數組

}

returnk;//返回刪除後的有效長度

}

intmain(void)

{

intdate[1001],i,j,k,n;

printf("輸入數據個數:");

scanf("%d",&n);

printf("輸入數據:");

for(i=0;i<n;++i)

scanf("%d",date+i);

k=del_same(date,n);

for(i=0;i<k;++i)

printf("%-5d",date[i]);

return0;

}

(6)C語言中去除數組中相同數字擴展閱讀

C語言在數組中刪去指定數字

#include<stdio.h>

#include<string.h>

intmain()

{

intn;

scanf("%d",&n);

intarray[10];

intarray_1[10];

intj=0;

for(inti=0;i<10;i++)

{

scanf("%d",&array[i]);

}

for(inti=0;i<10;i++)

{

if(array[i]!=n)

{

array_1[j]=array[i];

++j;//此時j++也是可以的;

}

}

for(inti=0;i<j;i++)

{

printf("%d",array_1[i]);

}

return0;

}

❼ C語言問題 把一個數組中的重復元素去掉

1、首先,點擊桌面上的VC++6.0,打開軟體。

❽ C語言刪除一個整型數組裡面重復的元素

利用雙重循環,將每個值依次與其後面的值相比較,如果有相同的則刪除該元素即可。

刪除時,可以使用將後面元素依次向前移動一位,同時總長度減一的方式。

參考代碼如下:

intremove_repeat(int*a,intl)
{
inti,j,k;

for(i=0;i<l;i++)
{
for(j=i+1;j<l;j++)//對後面每個元素比較,去重。
{
if(a[j]==a[i])//發現重復元素。
{
for(k=j+1;k<l;k++)//依次前移一位。
a[k-1]=a[k];
l--;//總長度減一。
}
}
}

returnl;//返回新的長度值。
}

❾ C語言中怎麼刪除數組中相同的數字

#include <stdio.h>#include <stdlib.h>#include <time.h> int simplification(int a[], int n) { int i,j,k; for(i = 0; i < n - 1; ++i) { for(j = i + 1; j < n; ++j) { if(a[i] == a[j]) { for(k = j; k < n - 1; ++k) a[k] = a[k + 1]; --j; --n; } } } return n;} int main() { int a[30],i,n = 30; printf("原數組:\n"); srand((unsigned)time(NULL)); for(i = 0; i < n; ++i) { a[i] = rand()%10; if(i && i % 10 == 0) printf("\n"); printf("%d ",a[i]); } printf("\n"); n = simplification(a,n); printf("去除相同元素後:\n"); for(i = 0; i < n; ++i) { if(i && i % 10 == 0) printf("\n"); printf("%d ",a[i]); } printf("\n"); return 0;}