用js输入20个不同的整数,找出其中最小的数,将它与第1个输入的数交换位置之后输出这些数。要求:用数组解决任务,在输入整数时各整数之间用空隔分隔。
时间: 2024-05-09 13:22:12 浏览: 55
好的,我来回答你的问题。以下是解决该问题的 JavaScript 代码:
```javascript
// 读入20个整数
var nums = [];
var inputStr = prompt("请输入20个不同的整数,用空格分隔:");
inputStr.trim().split(/\s+/).forEach(function(str) {
var num = parseInt(str);
if (!isNaN(num)) {
nums.push(num);
}
});
// 找到最小数的位置
var minIndex = 0;
for (var i = 1; i < nums.length; i++) {
if (nums[i] < nums[minIndex]) {
minIndex = i;
}
}
// 交换最小数和第一个数
var temp = nums[minIndex];
nums[minIndex] = nums[0];
nums[0] = temp;
// 输出结果
console.log(nums.join(" "));
```
请将以上代码复制到 JS 运行环境中执行,即可得到答案。其中 `prompt` 方法用于读入用户输入的字符串,`join` 方法用于将数组元素用空格连接为字符串输出,其他部分用数组的操作实现了交换和最小值查找等功能。
相关问题
如何创建一个初始长度为5的数组,其中最大元素被存储在第一个位置,最小元素在最后一个位置,然后输出这个数组?
你可以使用以下步骤在许多编程语言中创建这样一个数组:
1. **Python示例**:
```python
# 创建一个空列表,并将前四个元素设置为一个序列(例如0到3)
arr = [i for i in range(4)]
# 确定最大值和最小值
max_val = max(arr)
min_val = min(arr)
# 将最大值放在第一个位置,最小值放在最后一个位置
arr[0] = max_val
arr[-1] = min_val
# 输出数组
print(arr)
```
2. **JavaScript示例**:
```javascript
// 创建一个初始为空的数组并添加前四个元素
let arr = [0, 1, 2, 3];
// 找出最大值和最小值
let maxVal = Math.max(...arr);
let minVal = Math.min(...arr);
// 更新数组
arr[0] = maxVal;
arr[arr.length - 1] = minVal;
// 输出数组
console.log(arr);
```
3. **Java示例**:
```java
int[] arr = new int[5];
for (int i = 0; i < 4; i++) {
arr[i] = i;
}
int maxVal = Arrays.stream(arr).max().getAsInt();
int minVal = Arrays.stream(arr).min().getAsInt();
// 交换最大值和最小值的位置
arr[0] = maxVal;
arr[4] = minVal;
// 输出数组
System.out.println(Arrays.toString(arr));
```
执行上述代码后,你会看到一个初始长度为5的数组,其中第一个元素是最大的初始值,最后一个元素是最小的初始值。
阅读全文