您好,登錄后才能下訂單哦!
從鍵盤讀入n個整數放入數組中,編寫函數CompactIntegers,刪除數組中所有值為0的元素,其后元素向數組首端移動。注意,CompactIntegers函數需要接受數組及其元素個數作為參數,函數返回值應為刪除操作執行后數組的新元素個數。輸出刪除后數組中元素的個數并依次輸出數組元素。
樣例輸入: (輸入格式說明:5為輸入數據的個數,3 4 0 0 2 是以空格隔開的5個整數)
5
3 4 0 0 2
樣例輸出:(輸出格式說明:3為非零數據的個數,3 4 2 是以空格隔開的3個非零整數)
3
3 4 2
樣例輸入:
7
0 0 7 0 0 9 0
樣例輸出:
2
7 9
樣例輸入:
3
0 0 0
樣例輸出:
0
#include<stdio.h>
CompactIntegers(int n,int a[])
{
int k=n;
for(int i=0;i<k;i++)
{
if(a[i]==0)
{
for(int j=i;j<k-1;j++)
{
a[j]=a[j+1];
a[k]=0;
}
i--;
k--;
}
}
if(k==0)
{
printf("0");
}
else
{
printf("%d\n",k);
for(int i=0;i<k;i++)
{
printf("%d ",a[i]);
}
}
}
main()
{
int n;
int a[10000];
scanf("%d",&n);
for(int i;i<n;i++)
{
scanf("%d",&a[i]);
}
CompactIntegers(&n,a);
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。