这里的问题是:编写一个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;
}
但是我试图计算一个主要来使它完整的代码,但我不能有人帮助我请:),你不必给我答案只给我一些提示
答案 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允许您放置空格和空行以提高可读性。
它正是您的代码,并进行了一些小的调整和一些评论。你看到可读性的差异了吗?