输入n值及n个整数存在数组a中,调用一个子函数求出数组中奇数的个数及奇数和与偶数和,最后输出奇数个数、偶数个数、奇数和与偶数和。输出格式参见样张。 子函数功能:求出数组中奇数的个数、奇数和及偶数和。子函数头如下: int fun(int *p, int n, int &oddsum, int *evensum) 该函数返回数组中奇数的个数;指针变量p用来指向包含n个元素的数组;引用变量oddsum表示求得的奇数和;指针变量evensum指向求得的偶数和。
时间: 2024-03-08 11:44:52 浏览: 36
好的,这是一个关于数组操作的问题。可以按照如下步骤解决:
1. 首先读入n和数组a;
2. 再定义一个存放偶数和的变量even_sum和存放奇数个数的变量odd_count;
3. 调用子函数fun,将a数组、n、odd_sum和even_sum地址传入;
4. 在子函数中,遍历数组a,判断每个元素的奇偶性,将奇数个数和奇数和累加到odd_count和odd_sum中,将偶数和累加到even_sum中;
5. 回到主函数中,输出odd_count、n-odd_count、odd_sum和even_sum。
以下是代码实现:
相关问题
用python编写函数产生具有n个0至20之间随机元素的列表求奇数与偶数的个数
好的,下面是用 Python 编写的函数,可以产生具有 n 个 0 至 20 之间随机元素的列表,并求出其中奇数与偶数的个数:
```python
import random
def count_odd_even(n):
# 产生 n 个 0 至 20 之间的随机数
nums = [random.randint(0, 20) for i in range(n)]
print("生成的随机数列表为:", nums)
# 计算奇数与偶数个数
odd_count = 0
even_count = 0
for num in nums:
if num % 2 == 0:
even_count += 1
else:
odd_count += 1
print("奇数个数为:", odd_count)
print("偶数个数为:", even_count)
```
你可以调用这个函数,传入一个正整数 n,就可以得到一个具有 n 个 0 至 20 之间随机元素的列表,并计算其中奇数与偶数的个数。注意,函数中的 print 语句只是用于输出结果,实际使用时可以根据需要进行修改。
生成一个由随机整数组成的列表,编写两个函数myeven和myodd,通过调用它们,分别统计偶数和奇数的个数。
可以使用Python语言来实现这个任务。
首先,我们需要生成一个由随机整数组成的列表。可以使用random模块中的randint函数来生成随机整数,并使用列表推导式来生成列表。例如,下面的代码可以生成一个包含10个随机整数的列表:
```python
import random
lst = [random.randint(1, 100) for i in range(10)]
print(lst)
```
接下来,我们需要编写两个函数myeven和myodd,分别用于统计偶数和奇数的个数。这两个函数可以使用循环和条件语句来实现。例如,下面的代码实现了myeven函数:
```python
def myeven(lst):
count = 0
for num in lst:
if num % 2 == 0:
count += 1
return count
```
这个函数接受一个列表作为参数,遍历列表中的每个元素,如果元素是偶数,则计数器加1。最后返回计数器的值。
类似地,我们可以编写myodd函数来统计奇数的个数:
```python
def myodd(lst):
count = 0
for num in lst:
if num % 2 == 1:
count += 1
return count
```
最后,我们可以调用这两个函数来统计列表中偶数和奇数的个数:
```python
even_count = myeven(lst)
odd_count = myodd(lst)
print("偶数个数:", even_count)
print("奇数个数:", odd_count)
```
完整的代码如下:
```python
import random
def myeven(lst):
count = 0
for num in lst:
if num % 2 == 0:
count += 1
return count
def myodd(lst):
count = 0
for num in lst:
if num % 2 == 1:
count += 1
return count
lst = [random.randint(1, 100) for i in range(10)]
print(lst)
even_count = myeven(lst)
odd_count = myodd(lst)
print("偶数个数:", even_count)
print("奇数个数:", odd_count)
```
运行结果可能如下:
```
[63, 99, 20, 3, 89, 81, 28, 70, 10, 92]
偶数个数: 4
奇数个数: 6
```