我想解决这个问题,因为我比任何其他语言都更了解 JavaScript,所以我首先用 JavaScript 编写它,现在我正试图将它翻译成 C。
这是我的 JavaScript 代码
var SUM=0,RES=1,n=prompt('Enter n'),i=1,j=1;
for(var i=1;i<=n;i++){
SUM = 0;
for(var j=1;j<=i;j++){
SUM = SUM+ i/(2*j);
}
RES = RES * SUM
}
console.log(RES)
我认为这运作良好。我把它翻译成C,结果是:
#include "stdio.h"
int main(void)
{
int n,i,j;
float SUM=0,RES=1;
printf("n equals to ");
scanf("%d", &n);
for(i=1;i<=n;i++){
SUM = 0;
for(j=1;j<=i;j++){
SUM = SUM + i/(2*j);
}
RES = RES * SUM;
}
return RES;
}
JavaScript 至少返回一个数字。C代码总是返回0。问题出在哪里?