c - 数组和函数

标签 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;

}

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

最佳答案

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

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 允许您放置空格和空行以提高可读性。

这正是您的代码,经过一些细微的调整和一些注释。您看到可读性上的差异了吗?

关于c - 数组和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36867540/

相关文章:

java - 在java中使用数组实现链表?

javascript - 将数组转换为 switch 语句

c++ - vector 循环无法正常运行

c - malloc 检查点

c - Scanf 函数不接受输入

c++ - LibVLC 空图像

javascript - 如何从代理数组中删除或插入项目?

javascript - 数组如何工作(Javascript)?

c 管道读取字符串为空

c++ - 如何显示缓冲区中的值