本关任务:从键盘读入 n 个整数放入数组中,删除数组中所有值为 0 的元素,其后元素向数组首端移动。输出删除后数组中元素的个数并依次输出数组元素。
时间: 2023-05-31 22:17:46 浏览: 476
从键盘输入n个整数,删除其中的最大数后输出剩余部分
### 回答1:
好的,以下是回复:
首先,我们需要从键盘读入 n 个整数,并将它们放入数组中。接着,我们需要遍历数组,删除所有值为 0 的元素,并将其后的元素向数组首端移动。最后,输出删除后数组中元素的个数,并依次输出数组元素。
具体实现可以参考以下代码:
```python
n = int(input("请输入整数个数:"))
arr = []
for i in range(n):
arr.append(int(input("请输入第{}个整数:".format(i+1))))
count = 0
for i in range(n):
if arr[i] == 0:
count += 1
else:
arr[i-count] = arr[i]
print("删除后数组中元素的个数为:", n-count)
print("删除后的数组为:", arr[:n-count])
```
希望能对您有所帮助!
### 回答2:
这道题目需要我们从键盘上读取n个整数,并把它们存储到一个数组中。然后,我们需要删除数组中所有值为0的元素,并将其后的元素向数组首端移动。最后,我们要输出删除后数组中元素的个数,并依次输出数组元素。
首先,我们来看怎样从键盘上读取n个整数并把它们存储到一个数组中:
```python
n = int(input()) # 读入n
arr = [] # 定义一个空数组
# 读入n个整数并将它们加入数组中
for i in range(n):
num = int(input())
arr.append(num)
```
接下来,我们需要删除数组中值为0的元素,并将其后的元素向数组首端移动:
```python
count = 0 # 用来记录删除的0的个数
for i in range(len(arr)):
if arr[i] == 0:
count += 1
else:
arr[i-count] = arr[i]
# 删除多余的元素
while count > 0:
arr.pop() # 删除数组末尾的元素
count -= 1
```
最后,我们需要输出删除后数组中元素的个数,并依次输出数组元素:
```python
print(len(arr))
for num in arr:
print(num, end=' ')
```
这样,我们就完成了本关的任务。完整代码如下:
```python
n = int(input()) # 读入n
arr = [] # 定义一个空数组
# 读入n个整数并将它们加入数组中
for i in range(n):
num = int(input())
arr.append(num)
count = 0 # 用来记录删除的0的个数
for i in range(len(arr)):
if arr[i] == 0:
count += 1
else:
arr[i-count] = arr[i]
# 删除多余的元素
while count > 0:
arr.pop() # 删除数组末尾的元素
count -= 1
print(len(arr))
for num in arr:
print(num, end=' ')
```
这样,我们就顺利地完成了本关的任务。
### 回答3:
本任务需要实现的功能是从键盘读入 n 个整数并将它们存储到数组中,然后删除数组中所有值为 0 的元素,并将它们删除后的数组输出。
首先,我们需要定义一个数组来存储 n 个整数,通过一个循环将键盘输入的 n 个整数分别存储到数组中。接着,我们需要使用一个循环遍历该数组,检查是否存在值为 0 的元素,如果存在则将该元素删除,并将其后面的元素向数组首端移动。
在处理完数组后,我们需要统计删除后的元素个数并依次输出数组元素。最后展示给用户的结果应该是删除后的元素个数和新的数组元素。
下面是一个简单的实现代码:
```python
n = int(input("请输入整数个数: ")) # 从键盘输入整数个数
arr = []
for i in range(n):
arr.append(int(input("请输入第 %d 个整数: " % (i+1)))) # 从键盘输入n个整数并存储到数组中
count = 0 # 记录0的个数
for i in range(len(arr)):
if arr[i] == 0:
count += 1
else:
arr[i-count] = arr[i] # 将非0元素向前移动
for i in range(count):
arr.pop() # 删除后面的0元素
print("删除后的元素个数为: %d" % (n-count))
print("删除后的数组为:", end='')
for i in range(n-count):
print(arr[i], end=' ')
```
通过以上代码,我们就成功地实现了从键盘读入 n 个元素并删除数组中所有值为 0 的元素后输出删除后的数组。
阅读全文