从键盘读入 n 个整数放入数组中,删除数组中所有值为 0 的元素,其后元素向数组首端移动。输出删除后数组中元素的个数并依次输出数组元素
时间: 2024-05-10 19:17:27 浏览: 73
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
以下是一个 C++ 的程序实现:
```cpp
#include <iostream>
using namespace std;
int main() {
const int MAXN = 10000; // 数组最大长度
int a[MAXN], n; // 数组 a 和元素个数 n
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
int k = 0; // 记录非零元素的个数
for (int i = 0; i < n; i++) {
if (a[i] != 0) {
a[k++] = a[i];
}
}
cout << k << endl;
for (int i = 0; i < k; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
```
该程序首先读入元素个数 `n` 和数组元素,然后遍历数组,将非零元素向数组首端移动,并记录非零元素的个数 `k`。最后输出 `k` 和删除后的数组元素。
阅读全文