问题是:编写一个 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/