水题,关键是创建一个新的数组,要有这个思路很简单!!!
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int q[10005];
int w[10005];
int CompactIntegers(int a[],int n)
{
int cnt=0;
for(int i=1;i<=n;i++)
{
if(a[i]!=0)
{
w[++cnt]=a[i];
}
}
return cnt;
}
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&q[i]);
}
int cnt=CompactIntegers(q,n);
if(cnt==0)
{
printf("0\n");
}
else
{
printf("%d\n",cnt);
for(int i=1;i<=cnt;i++)
{
printf("%d",w[i]);
if(i!=cnt) printf(" ");
}
}
}