常见的数组题目题目
时间: 2025-04-26 20:11:14 浏览: 19
### 常见数组编程练习题及答案
#### 1. 数组逆序遍历输出
为了实现数组的逆序遍历并输出其元素,可以采用如下方法:
```java
public class Demo04 {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6};
// 开始从最后一个索引向前迭代直到第一个元素
for (int j = arr.length - 1; j >= 0; j--) {
System.out.print(arr[j] + " ");
}
}
}
```
这段代码展示了如何通过改变for循环中的条件来反向访问数组内的每一个成员,并依次打印出来[^1]。
#### 2. 将指定范围内的随机整数填充到数组中
当需要创建一个含有特定数量随机数值(比如本例中的十个介于零至十之间)的数组时,可利用`Math.random()`函数配合乘法运算符生成所需区间内均匀分布的伪随机数列:
```java
public class Test6 {
public static void main(String[] args) {
int[] arr = new int[10];
putRandomArray(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
}
private static void putRandomArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
int randomNum = (int) (Math.random() * 11); // 生成0~10之间的随机数
arr[i] = randomNum;
}
}
}
```
此程序片段说明了怎样构建辅助方法用于初始化给定大小的一维整形数组,其中每个位置都被赋予了一个来自预设区间的随机值[^2]。
#### 3. 计算累加和并在循环外显示结果
有时可能希望先完成一系列计算操作再统一展示最终的结果,在这种情况下应该把输出语句放置在所有处理逻辑之后执行:
```c
#include<stdio.h>
int main(){
int sum = 0;
for (int i = 0; i < n; i++) {
sum += i;
}
printf("Sum is: %d\n", sum); // 循环结束后打印总和
return 0;
}
```
这里给出的例子是一个简单的C语言例子,它累积了一定量级自然数之和,并仅在全部相加完成后才调用了`printf`函数输出求得的答案[^3]。
#### 4. 移除一维数组里的重复项或过滤掉某些特殊值
面对包含冗余数据或者不期望存在的标记位(如这里的全零条目),可以通过二次扫描的方式筛选有效成分重组为紧凑的新序列:
```java
public class RemoveZerosFromArray {
public static void main(String[] args) {
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 < oldarr.length; i++) {
if (oldarr[i] != 0) {
count++;
}
}
// 创建不含零的新数组
int[] newarr = new int[count];
int newIndex = 0;
// 复制非零元素到新数组
for (int value : oldarr) {
if (value != 0) {
newarr[newIndex++] = value;
}
}
// 输出清理后的数组内容
for (int num : newarr) {
System.out.println(num);
}
}
}
```
上述实例演示了去除原有一维整形数组内部所有的零值的过程,同时保持原有顺序不变地转移到另一个更短的数据结构里去[^4]。
阅读全文
相关推荐













