使用动态内存分配函数计算一组元素中的偶数和奇数之和。
在此程序中,我们尝试在一组数字中查找偶数和奇数。
下面给出了用于在一组元素中查找偶数的逻辑-
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