/*
编写一个程序,随机生成1-100之间的内的50个整数,统计其中的奇数和偶数的个数,
要求统计功能由自定义函数
分析:自定义函数一般只有一个返回值,但这个问题中需要两个返回值,所以我们可
以考虑返回值从形参处返回,需要形参类型为指针类型,并且需要两个,分别带回奇
数和偶数个数
*/
#include <stdio.h>
#include "stdlib.h"
#include "time.h"
void odd_even(int x,int *ce,int *co);
int main()
{
int num,i;
int ceven=0; //偶数计数
int codd=0; //奇数计数
int *pce=&ceven;
int *pco=&codd;
srand(time(0)); ///时间种子
for(i=0;i<50;i++)
{
num=1+rand()%100; ///产生随机数
if(i%5==0) //判断5个数一行
printf("\n");
printf("%5d",num);
odd_even(num,pce,pco);
}
printf("\n偶数个数为:%d,奇数个数为:%d\n",*pce,*pco);
return 0;
}
void odd_even(int x,int *ce,int *co)
{
if((x%2)==0)
*ce=*ce+1;
else
*co=*co+1;
}
/*
(1)指针作为参数传递时相当于传递的是实参的地址,所以在自定义odd_even函数中
可以实现奇数计数器和偶数计数器的累加,并回传到(实际上是直接改变)main和偶
数计数器的值
(2把参数改为整数的话就不能实现这个功能
*/
eg 7-8 Custom functions to count odd and even numbers
最新推荐文章于 2023-10-19 19:14:50 发布