动态使用C语言查找一组元素中的偶数和奇数


问题

使用动态内存分配函数来计算一组元素中偶数和奇数的和。

解决方案

在这个程序中,我们尝试在一组数字中找到偶数和奇数。

用于在一组元素中找到偶数的逻辑如下 −

for(i=0;i<n;i++){
   if(*(p+i)%2==0) {//checking whether no is even or not
      even=even+*(p+i); //calculating sum of even all even numbers in a list
   }
}

用于在一组元素中找到奇数的逻辑如下 −

for(i=0;i<n;i++){
   if(*(p+i)%2==0) {//checking number is even or odd
      even=even+*(p+i);
   }
   Else {//if number s odd enter into block
      odd=odd+*(p+i); //calculating sum of all odd numbers in a list
   }
}

示例

 在线演示

#include<stdio.h>
#include<stdlib.h>
void main(){
   //Declaring variables, pointers//
   int i,n;
   int *p;
   int even=0,odd=0;
   //Declaring base address p using malloc//
   p=(int *)malloc(n*sizeof(int));
   //Reading number of elements//
   printf("Enter the number of elements : ");
   scanf("%d",&n);
   /*Printing O/p -
   We have to use if statement because we have to check if memory
   has been successfully allocated/reserved or not*/
   if (p==NULL){
      printf("Memory not available");
      exit(0);
   }
   //Storing elements into location using for loop//
   printf("The elements are : 
");    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("The sum of even numbers is : %d
",even);    printf("The sum of odd numbers is : %d
",odd); }

输出

Enter the number of elements : 5
The elements are :
34
23
12
11
45
The sum of even numbers is : 46
The sum of odd numbers is : 79

更新于:09-Mar-2021

1K+ 浏览

开启你的 职业生涯

完成课程后获得认证

开始
广告
© . All rights reserved.