找出数组中所有偶数值,生成新数组
时间: 2023-05-24 11:04:57 浏览: 94
我们可以使用循环遍历原数组,判断每个元素是否是偶数,如果是,就加入新数组中。代码如下:
```python
# 原数组
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 新数组
even_arr = []
# 遍历原数组
for num in arr:
# 判断是否是偶数
if num % 2 == 0:
# 加入新数组
even_arr.append(num)
print(even_arr) # 输出 [2, 4, 6, 8, 10]
```
如果我们使用列表推导式,代码更加简洁:
```python
# 原数组
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 新数组
even_arr = [num for num in arr if num % 2 == 0]
print(even_arr) # 输出 [2, 4, 6, 8, 10]
```
相关问题
JS-找出数组中所有偶数值,生成新数组
可以使用数组的 filter 方法来找出数组中所有偶数值,然后生成新数组。代码如下:
```
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const evenArr = arr.filter(num => num % 2 === 0);
console.log(evenArr); // [2, 4, 6, 8]
```
在这个代码中,首先定义了一个原始数组 `arr`,它包含了一些数字。然后使用 `arr.filter()` 方法来过滤出其中所有偶数值,生成新数组 `evenArr`。在 `filter()` 方法的参数中,我们传入了一个函数表达式 `num => num % 2 === 0`,这个函数会对数组中的每个元素进行判断,如果这个元素是偶数,则返回 true,否则返回 false。最终得到的 `evenArr` 数组即为符合条件的偶数值所组成的数组。
简单的整型数组操作:构造一个包含n个元素的一维整型随机数组(0≤n≤100) ,其中无重复元素。完成表10-1的操作。 1. 使用下标法输出数组元素值 2. 使用指针法输出数组元素值 3. 对数组中所有偶数求和 4. 对数组中所有奇数求和 5. 将数组中的所有数扩大k倍 6. 把数组中所有偶数位置的元素加起来 7. 找出数组中的最大值 8. 找出数组中的最小值 9. n在数组中搜索指定元素,看其是否存在
答案:
1.构造随机数组:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n, i, j, temp, flag;
int arr[100];
srand((int)time(NULL)); //用系统时间初始化rand()函数
printf("请输入n的值:");
scanf("%d", &n);
for (i = 0; i < n; i++) {
flag = 1;
temp = rand() % 100 + 1; //生成1-100内的随机数
for (j = 0; j < i; j++) {
if (arr[j] == temp) { //如果与已生成的元素重复,重新生成
flag = 0;
break;
}
}
if (flag) {
arr[i] = temp;
}
else {
i--;
}
}
printf("生成的随机数组为:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
2.使用指针法输出数组元素值:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int* p;
for (p = arr; p < arr + 5; p++) {
printf("%d ", *p);
}
printf("\n");
return 0;
}
3.对数组中所有偶数求和:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i, sum = 0;
for (i = 0; i < n; i++) {
if (arr[i] % 2 == 0) {
sum += arr[i];
}
}
printf("所有偶数的和为%d\n", sum);
return 0;
}
4.对数组中所有奇数求和:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i, sum = 0;
for (i = 0; i < n; i++) {
if (arr[i] % 2 == 1) {
sum += arr[i];
}
}
printf("所有奇数的和为%d\n", sum);
return 0;
}
5.将数组中的所有数扩大k倍:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i, k;
printf("请输入k的值:");
scanf("%d", &k);
for (i = 0; i < n; i++) {
arr[i] *= k;
}
printf("扩大%d倍后的数组为:\n", k);
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
6.把数组中所有偶数位置的元素加起来:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i, sum = 0;
for (i = 0; i < n; i += 2) {
if (arr[i] % 2 == 0) {
sum += arr[i];
}
}
printf("偶数位置的元素加起来为%d\n", sum);
return 0;
}
7.找出数组中的最大值:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i, max = arr[0];
for (i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
printf("数组中的最大值为%d\n", max);
return 0;
}
8.找出数组中的最小值:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i, min = arr[0];
for (i = 1; i < n; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
printf("数组中的最小值为%d\n", min);
return 0;
}
9.n在数组中搜索指定元素,看其是否存在:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i, x;
printf("请输入要搜索的元素:");
scanf("%d", &x);
for (i = 0; i < n; i++) {
if (arr[i] == x) {
printf("%d存在于数组中\n", x);
return 0;
}
}
printf("%d不存在于数组中\n", x);
return 0;
}
阅读全文