使用 C 语言动态查找一组元素中的偶数和奇数
cserver side programmingprogramming
问题
使用动态内存分配函数计算一组元素中偶数和奇数的总和。
解决方案
在此程序中,我们尝试在一组数字中查找偶数和奇数。
用于在集合元素中查找偶数的逻辑如下所示 −
for(i=0;i<n;i++){ if(*(p+i)%2==0) {//检查 no 是否为偶数 even=even+*(p+i); //计算列表中所有偶数的总和 } }
用于在集合元素中查找奇数的逻辑如下所示 −
for(i=0;i<n;i++){ if(*(p+i)%2==0) {//检查数字是偶数还是奇数 even=even+*(p+i); } Else {//如果数字为奇数,则进入块 odd=odd+*(p+i); //计算列表中所有奇数的总和 } }
示例
#include<stdio.h> #include<stdlib.h> void main(){ //声明变量、指针// int i,n; int *p; int even=0,odd=0; //使用 malloc 声明基地址 p// p=(int *)malloc(n*sizeof(int)); //读取元素数量// printf("输入元素数量:"); scanf("%d",&n); /*打印 O/p - 我们必须使用 if 语句,因为我们必须检查内存 是否已成功分配/保留*/ if (p==NULL){ printf("内存不可用"); exit(0); } //使用 for 循环将元素存储到位置// printf("元素为:
"); for(i=0;i<n;i++){ scanf("%d",p+i); } for(i=0;i<n;i++){ if(*(p+i)%2==0){ even=even+*(p+i); } else{ odd=odd+*(p+i); } } printf("偶数之和为:%d
",even); printf("奇数之和为:%d
",odd); }
输出
输入元素个数:5 元素个数为: 34 23 12 11 45 偶数之和为:46 奇数之和为:79