运算符和表达式
#include <stdio.h>double fun(intn)
{
int i;
double sum = 0.0; /*将sum定义为双精度型变量,并给其赋初值为0.0*/
if (n>0 && n<=100)
{for(i=1; i<=n; i++)
if(i&5==0 || i%9==0)
sum += 1.0/i; /*累加自然数的倒数之和,放入变量sum中*/
}
return sum; /*返回结果*/
}
用fun函数计算输入n值以内能被5或9整除的所有自然数的倒数之和
请问代码哪里出错?能运行但结果不对
谢谢啦!
%写成&了
#include <stdio.h>
double fun(int n)
{
int i;
double sum = 0.0; /*将sum定义为双精度型变量,并给其赋初值为0.0*/
if (n>0 && n<=100)
{
for(i=1; i<=n; i++)
{
if(i%5==0 || i%9==0)
sum += 1.0/i; /*累加自然数的倒数之和,放入变量sum中*/
}
}
return sum; /*返回结果*/
} if(i&5==0 || i%9==0)
感觉应该是打错了,i&5意味着你要找的是一个包含第1位或第3位为一的数
他们说得对,你打错了符号。被5整除应是%取余等于0,不是&位与。
页:
[1]