int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为: int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5} 思路: 确定出不为0的个数,这样可以开辟新数组;从旧的数组之中,取出内容,并将其赋给新开辟的数组。
时间: 2023-09-20 14:12:35 浏览: 61
Chatglm2-6b-int4资源文件
是的,您的思路是正确的。可以先遍历旧数组,计算出其中不为0的元素的个数,然后创建一个新数组,将不为0的元素存入新数组中。具体实现可以参考以下代码:
```
int oldArr[] = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
int count = 0;
for (int i = 0; i < sizeof(oldArr) / sizeof(int); i++) {
if (oldArr[i] != 0) {
count++;
}
}
int newArr[count];
int j = 0;
for (int i = 0; i < sizeof(oldArr) / sizeof(int); i++) {
if (oldArr[i] != 0) {
newArr[j] = oldArr[i];
j++;
}
}
```
经过上述处理,新数组newArr中存储的就是原数组oldArr中所有不为0的元素。
阅读全文