现在有如下的一个数组: 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} 。
时间: 2023-06-02 19:03:45 浏览: 80
重新排列数组1
好的,这是一个关于数组操作的问题。下面是根据您的要求所编写的代码示例:
int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
int nonZeroCount = 0;
for(int i = 0; i < sizeof(oldArr) / sizeof(int); i++) {
if(oldArr[i] != 0) {
nonZeroCount++;
}
}
int newArr[nonZeroCount];
int j = 0;
for(int i = 0; i < sizeof(oldArr) / sizeof(int); i++) {
if(oldArr[i] != 0) {
newArr[j] = oldArr[i];
j++;
}
}
// 打印新数组
for(int i = 0; i < sizeof(newArr) / sizeof(int); i++) {
printf("%d ", newArr[i]);
}
运行以上代码将会输出新数组:1 3 4 5 6 6 5 4 7 6 7 5。
阅读全文