用指针实现一维数组的输入,并统计其中偶数和奇数的个数。
时间: 2024-02-12 10:04:42 浏览: 64
好的,以下是用指针实现一维数组的输入,并统计其中偶数和奇数的个数的代码示例:
```c
#include <stdio.h>
int main() {
int n, even_count = 0, odd_count = 0;
printf("请输入数组长度:");
scanf("%d", &n);
int arr[n];
int *p = arr;
printf("请输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", p + i);
if (*(p + i) % 2 == 0) {
even_count++;
} else {
odd_count++;
}
}
printf("偶数个数:%d\n", even_count);
printf("奇数个数:%d\n", odd_count);
return 0;
}
```
我们定义了一个整型指针 `p` 来指向整型数组 `arr` 的首地址,然后使用 `scanf` 函数通过指针输入数组元素。在输入的同时,如果当前元素可以被 2 整除,我们就将偶数计数器 `even_count` 加一,否则将奇数计数器 `odd_count` 加一。最后输出偶数和奇数的个数即可。
相关问题
用指针实现一维数组的输入,并统计其中偶数和奇数的个数
好的,以下是用指针实现一维数组输入并统计其中偶数和奇数的个数的示例代码:
```c
#include <stdio.h>
int main() {
int a[10], even_count = 0, odd_count = 0;
int *p = a; // 定义指针p指向数组a的首地址
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", p); // 通过指针输入数据
if (*p % 2 == 0) {
even_count++;
} else {
odd_count++;
}
p++; // 指针移动到下一个位置
}
printf("数组中偶数的个数为:%d,奇数的个数为:%d\n", even_count, odd_count);
return 0;
}
```
在这个示例中,我们先定义了一个整型数组 `a[10]`,然后定义一个指针 `p` 指向数组的首地址。通过 `scanf()` 函数和指针 `p` 实现输入,每输入一个数,判断它是奇数还是偶数,并分别对 `even_count` 和 `odd_count` 进行加 1 操作。最后输出两个计数器的值,即可得出偶数和奇数的个数。
需要注意的是,指针 `p` 在输入数据后需要移动到下一个位置,以便下一次输入。这里通过 `p++` 实现指针移动。
用指针实现一维数组的输入,并统计偶数和奇数的个数
好的,以下是用指针实现一维数组的输入,并统计偶数和奇数的个数的示例代码:
```c++
#include <iostream>
using namespace std;
int main() {
int n, evenCount = 0, oddCount = 0;
cout << "请输入数组长度:";
cin >> n;
int *arr = new int[n];
int *p = arr;
cout << "请输入数组元素:" << endl;
for (int i = 0; i < n; i++) {
cin >> *(p + i);
if (*(p + i) % 2 == 0) {
evenCount++;
} else {
oddCount++;
}
}
cout << "数组中偶数的个数为:" << evenCount << endl;
cout << "数组中奇数的个数为:" << oddCount << endl;
delete[] arr;
return 0;
}
```
首先,我们通过 `new` 关键字动态分配了一个长度为 `n` 的整型数组,并用指针 `p` 记录其首地址。
然后,我们通过循环遍历数组,使用指针 `p` 访问数组中的每一个元素,并且统计偶数和奇数的个数。
最后,记得释放动态分配的数组空间。
希望这个示例代码能够帮助到你!
阅读全文