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

怎樣刪除c語言數組

發布時間: 2022-05-04 02:45:08

c語言中刪除一個數組怎麼寫

如果數組是有序的,
需要把後面的數據挨個挪上來佔掉前一個的位置,
然後把整個數組長度的記錄減1.
或者乾脆用鏈表,別用數組了
如果數組是無序的,
可以把最後一個記錄挪上來佔掉要刪除的這個記錄位置,然後吧數組長度的記錄減1

㈡ C語言數組刪除

#include<stdio.h>

int main()

{ int i,i1,j,k,n,a[101];

scanf("%d",&n);

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

{ a[i]=i;

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

}

printf(" ");

i=1,k=n;

for(i1=0; i1<n/2; i1++)

{ a[i++]=a[k--]=0;

for(j=1; j<=n; j++)

printf("%3d",a[j]);

printf(" ");

}

return 0;

}

㈢ c語言數組元素的刪除

對於數組刪除,一般就是使用後面數組元素前移的操作,來覆蓋前一元素,達到刪除的效果。。。。

例如數組a[10],要刪除a[5]這個元素,那麼只需要把後面的元素前移一位就行了,也就是a[5]=a[6],a[6]=a[7],a[7]=a[8],這樣子a[5]這個元素的內容就會被全部抹殺掉了。。。。

不過這里存在一個問題,你一個結構體數組前移的時候,如何判斷有多少個元素要前移呢。。。。

所以我的做法是在結構體裡面定義一個標示符int flag。。。。

當對這個結構體數組元素賦值時,如a[10].name="KING" 時,那麼就是說下標值為10的元素是存在的,賦完值後,來個a[10].flag=1 來標記一下。。。。

這樣做的話,我們可以進行這樣的刪除操作了,如刪除下標值為5的元素——
int i=5;
for(int j=i+1;a[j].flag==1;i++,j++)
{
a[i]=a[j];
/* 結構體數組可以直接這樣子做,它會自動把a[i]裡面的變數等於a[j]裡面對應的變數 */
}
a[i].flag=0;
/* 如果你裡面原來有10個元素,那麼刪除了其中一個,那就剩下9個,a[9]那個位置應該為空,一一把裡面的元素清空太麻煩,直接把它的標示符flag等於0,就表示該位置為空的 */

㈣ C語言,刪除數組元素

void main()
{
int i,j,n;
int a[10];
int k=0; //記錄刪除數據的個數
printf("請輸入需要刪除的數:\n");
scanf("%d",&n);
printf("請輸入10個元素的數組: \n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
for (i=0;i<10;i++)
if (a[i]==n)
{
for (j=0;i+j<9;j++)
a[i+j]=a[i+j+1];
k++;//刪除數據的個數加1
a[10-k] = 0; //清除最後一個已經前移過的數據
}

for (i=0;i<10-k;i++)//輸出剩餘的數據,後面的數據為0代表已經被刪除的無意義數據,不必再輸出了。
printf("%5d",a[i]);
}

㈤ c語言中怎麼刪除數組中的第七位數

摘要 main()

㈥ C語言中刪除一個數組元素

一般的數組元素無法刪除,只能將值改變為另一個特定的值,然後發現這個值就直接轉向下一個元素.

用鏈表可以刪除表中的一個結點.

㈦ 在C語言中如何把數組清空

C語言貌似沒有把數組清空的方法啊,或許你可以清除就把它賦值為0,這樣在形式上實現了清楚,不然的話只有動態申請的內存可以釋放。