定义一个长度为10的整型数组,随机输入10个数。要求统计该数组中奇数和偶数的个数,并把奇数个数和偶数个数输出来,用指针变量p指向数组元素a[i]。用c语言指针实现
时间: 2024-03-23 11:43:24 浏览: 108
好的,下面是C语言指针实现的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int nums[10];
int odd_cnt = 0, even_cnt = 0;
int *p;
srand(time(NULL)); // 初始化随机数发生器
// 生成随机数并存储到数组中
for (p = nums; p < nums + 10; ++p) {
*p = rand() % 100;
printf("%d ", *p);
if (*p % 2 == 0)
++even_cnt;
else
++odd_cnt;
}
printf("\nOdd count: %d\nEven count: %d", odd_cnt, even_cnt);
return 0;
}
```
与上一个问题的代码类似,这里也是定义一个长度为10的整型数组`nums`,然后定义两个变量`odd_cnt`和`even_cnt`,分别用于统计奇数和偶数的个数。接着定义一个指向整型的指针变量`p`,用于遍历数组。
使用`srand(time(NULL))`初始化随机数发生器,然后使用`rand() % 100`生成[0,99]范围内的随机数,并将其存储到数组中。同时,如果当前数为偶数,则`even_cnt`自增1,否则`odd_cnt`自增1。
最后输出奇数和偶数的个数即可。注意,在遍历数组时,每次指针变量`p`向后移动一个整型长度,即`p++`,这样才能遍历整个数组。
阅读全文