亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

主函數如下:并把刪除后數組的長度作為函數的返回值?

主函數如下:并把刪除后數組的長度作為函數的返回值?

九州編程 2022-11-04 15:11:35
編寫一個函數int delnum(int *a , int num , int n),用于在長度是n的數組a中,刪除一個指定的元素num。# define N 10main( ){int a[N] , num;scanf(“%d”,&num);輸入N個數到數組a中;調用delnum函數在數組a中刪除指定的數num;輸出刪除了num后的數組a;}
查看完整描述

2 回答

?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

#include<stdio.h>
#define N 10
void delnum(int *a,int num,int n)
{
int i=0;
while(a[i]!=num&&i<n-1)
i++;
while(i<n-1)
{
a[i++]=a[i+1];
}
}
int main(int argc, char *argv[])
{
int i,a[N]={0};
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("\n刪除前數組:\n");
for(i=0;i<N;i++)
printf("%4d ",a[i]);
printf("\n輸入要刪除的數據:");
scanf("%d",&i);
delnum(&a,i,N);
printf("\n刪除后數組:\n");
for(i=0;i<N;i++)
printf("%4d ",a[i]);
system("PAUSE");
return 0;
}


查看完整回答
反對 回復 2022-11-08
?
SMILET

TA貢獻1796條經驗 獲得超4個贊

首先跟你說下 刪除的實質 :就是將他的內存空間替換。也就是說,你要刪除 a【1】 就相當于 把 a【1】的存儲空間分配給 a【2】 。如此類推。(刪除1,就將后面的全部向前移動。)接下來的事情就比較簡單了。利用for來完成

查看完整回答
反對 回復 2022-11-08
  • 2 回答
  • 0 關注
  • 133 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號