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

问题

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

解决方案

在此程序中,我们尝试在一组数字中查找偶数和奇数。

下面给出了用于在一组元素中查找偶数的逻辑-

for(i=0;i<n;i++){
   if(*(p+i)%2==0) //检查是否不是{
      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(){
   //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("输入元素数: ");
   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 : \n");
   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\n",even);
   printf("The sum of odd numbers is : %d\n",odd);
}
输出结果
输入元素数: 5
The elements are :
34
23
12
11
45
The sum of even numbers is : 46
The sum of odd numbers is : 79

猜你喜欢