数组&功能

时间:2016-04-26 14:13:38

标签: c arrays

这里的问题是:编写一个C函数,它将整数数组及其大小作为输入参数,并将数组中偶数的总和与数组中奇数之和进行比较。如果偶数之和较大,则函数返回1.如果奇数之和较大,则函数返回-1。如果两个总和相等,则函数返回0.

这就是我的尝试:

int Compare(int a[],int sz){
int Esum=0,n,Osum=0,m;
for(int i=0;i<sz,i++){
    if(a[i]%2==0)
    n=a[i];
    sum+=n;
    else 
    m=a[i];
    sum+=m;
}
printf("%d%d\n",Osum,Esum);
if(Esum>Osum)
return 1;
else if(Osum>Esum)
return -1;
else 
return 0;

}

但是我试图计算一个主要来使它完整的代码,但我不能有人帮助我请:),你不必给我答案只给我一些提示

1 个答案:

答案 0 :(得分:1)

这不是一个真正的答案,但是像这样格式化代码(例如)将是一个良好的开端:

int Compare(int a[],int sz)
{
  int Esum=0,n,Osum=0,m;        // <<< is it Osum or sum

  for (int i=0; i<sz; i++) {    //<< NOTE THE ; HERE INSTEAD OF ,
    if (a[i]%2 == 0) {
      n=a[i];
      sum+=n;                   // <<< is it Osum or sum
    }
    else {
      m=a[i];
      sum+=m;                   // <<< is it Osum or sum
    }
  }

  printf("%d %d\n",Osum, Esum);  // <<< space between the two %d

  if (Esum > Osum)
    return 1;
  else if (Osum > Esum)
    return -1;
  else 
   return 0;
}

C允许您放置空格和空行以提高可读性。

它正是您的代码,并进行了一些小的调整和一些评论。你看到可读性的差异了吗?