赞
踩
删除数组的0元素的思路:
在CompactIntegers函数中创建一个b数组,直接将我们的目标数组非0值放到b数组,然后直接打印b数组中的非零元素,同时用一个计数变量t,这就是非零元素的个数。
#include<cstdio>
using namespace std;
const int maxn = 101;
int a[maxn];
int b[maxn];
int CompactIntegers(int a[],int n){
int t = 0;
for(int i = 0;i<n;i++){
//遍历数组,如果找到非零的元素,放入到b数组,同时开始计数
if(a[i]!=0){
b[t]=a[i];
t++;
}
}
//输出数组
for(int i = 0;i<t;i++){
printf("%d ",b[i]);
}
printf("\n");
printf("%d",t);
}
与原题的要求有点不一样,但在c语言网上的OJ是AC了的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。