从键盘输入10个整数,把偶数放到数组b中,然后输出数组b用c语言编写
时间: 2024-03-18 08:41:26 浏览: 105
你可以参考以下代码实现:
```c
#include <stdio.h>
int main() {
int a[10], b[10], count = 0;
// 从键盘输入10个整数
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]);
if (a[i] % 2 == 0) { // 判断是否为偶数
b[count] = a[i]; // 将偶数放入数组b中
count++; // 统计偶数个数
}
}
// 输出数组b
printf("偶数数组b为:\n");
for (int i = 0; i < count; i++) {
printf("%d ", b[i]);
}
return 0;
}
```
这段代码首先定义了两个数组:a用来存储输入的10个整数,b用来存储偶数。然后使用for循环从键盘输入10个整数,并判断每个数是否为偶数,如果是就将其放入数组b中。最后使用for循环输出数组b中的元素。
相关问题
c语言编写从键盘输入n的值(n<10),再输入n个整数到一维数组中,将这n个整数逆序存放到该数组中并输出
以下是用C语言编写的程序:
```c
#include <stdio.h>
int main() {
int n, i, temp;
int arr[10];
// 读入n和数组元素
printf("请输入n的值(n<10):");
scanf("%d", &n);
printf("请输入%d个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 逆序存放数组元素
for (i = 0; i < n / 2; i++) {
temp = arr[i];
arr[i] = arr[n - i - 1];
arr[n - i - 1] = temp;
}
// 输出逆序后的数组元素
printf("逆序存放后的数组元素为:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
程序运行后,先输入n的值,然后再输入n个整数,程序会逆序存放这n个整数并输出。注意,上述程序中数组大小为10,但是实际上只使用了前n个元素。
【练习三】编写函数 dcopy:将数组 a 中的偶数复制到数组 b 中。在主函数中输入 n 个整数、C语言 调用函数 dcopy 进行复制,输出复制后的数组 b。
在 C 语言中,你可以创建一个名为 `dcopy` 的函数来完成这个任务。这里是一个简单的实现步骤:
```c
#include <stdio.h>
// 函数原型声明
void dcopy(int* b, int* a, int n);
int main() {
int n;
printf("请输入数组长度 n: ");
scanf("%d", &n);
// 假设我们有足够大的数组a和b
int a[n], b[n];
printf("请输入 %d 个整数到数组 a: ", n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 调用 dcopy 函数
dcopy(b, a, n);
// 输出复制后的数组 b
printf("复制后的数组 b: ");
for (int i = 0; i < n; i++) {
if (i > 0) {
printf(", ");
}
printf("%d", b[i]); // 只打印偶数元素,因为已经处理过了
}
printf("\n");
return 0;
}
// 实现 dcopay 函数,只复制偶数到 b
void dcopy(int* b, int* a, int n) {
for (int i = 0; i < n; i++) {
if (a[i] % 2 == 0) { // 检查是否为偶数
b[i] = a[i]; // 如果是偶数,则复制到 b
} else {
b[i] = 0; // 非偶数元素设置为 0 或者其他默认值
}
}
}
```
阅读全文