用C语言编写程序,在数组中存入 n 个整数,将其中的偶数存入新数组中。输入样例: 10 5 2 6 1 9 10 20 15 20 30 输出样例: 2 6 10 20 20 30
时间: 2024-03-24 16:41:37 浏览: 76
好的,以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int n, j = 0;
int a[100], b[100];
printf("请输入正整数n:");
scanf("%d", &n);
printf("请输入n个数:");
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (a[i] % 2 == 0) {
b[j] = a[i];
j++;
}
}
printf("新数组中的偶数为:");
for (int i = 0; i < j; i++) {
printf("%d ", b[i]);
}
return 0;
}
```
希望这个代码可以解决你的问题!
相关问题
用c语言复制数组中部分元素到另一数组 题目描述 在数组中存入 n 个整数,将其中的偶数存入新数组中。 输入格式: 第一行输入一个正整数 n(1≤n≤20)。第二行输入 n 个整数,其间以空格分隔。 输出格式: 顺次输出新数组中的数组元素,数值间空一格,如果数组没有偶数,则输出“None" 输入样例: 10 5 2 6 1 9 10 20 15 20 30 输出样例: 2 6 10 20 20 30 输入样例: 10 1 3 5 1 9 3 5 15 21 33 输出样例: None
下面是使用 C 语言编写的代码实现:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int a[n], b[n];
int cnt = 0; // 记录偶数个数
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (a[i] % 2 == 0) {
b[cnt++] = a[i];
}
}
if (cnt == 0) {
printf("None");
} else {
for (int i = 0; i < cnt; i++) {
printf("%d ", b[i]);
}
}
return 0;
}
```
代码思路:
1. 先读入整数 n;
2. 声明两个数组 a 和 b,分别存放原数组和偶数数组;
3. 用 cnt 记录偶数的个数,初始化为 0;
4. 依次读入数组元素,如果是偶数就存入数组 b 中,并将 cnt 加 1;
5. 如果偶数个数 cnt 为 0,则输出 None;
6. 否则,顺次输出数组 b 中的每个元素。
用c语言在数组中存入n个整数,将其中的偶数行入新奴组中。 输入格式 第一行输入一个正整数n(1≤n≤20)。第二行输入n个整数,其间以空格分隔。 输出格式 顺次输出新数组中的数组元素,数值间空一格,如果数组没有偶数,则输出"None" 输入样例 10 5 2 6 1 9 10 20 15 20 30 输出样例 2 6 10 20 20 30 输入样例 10 1 3 5 1 9 3 5 15 21 33 输出样例 None
以下是C语言实现的代码:
```c
#include <stdio.h>
int main()
{
int n, a[20], b[20], i, j = 0;
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (a[i] % 2 == 0) {
b[j] = a[i];
j++;
}
}
if (j == 0) {
printf("None");
} else {
for (i = 0; i < j; i++) {
printf("%d ", b[i]);
}
}
return 0;
}
```
首先定义两个数组 a 和 b,a 用来存储输入的 n 个整数,b 用来存储偶数行的整数。然后循环读入 n 个整数,如果当前数是偶数,就将其存入数组 b 中,并将 b 数组指针向后移动一位。最后判断 b 数组的长度,如果为零,则输出 "None",否则顺次输出 b 数组中的元素。
阅读全文