求助
为什么运行结果会比正确答案大很多嘞?{:10_245:} {:10_245:} {:10_245:}#include<stdio.h>
#define n 1000
int main()
{
int i, j, k ;
int m, b, p ;
int sum=0;
m = n / 3;
for(i=1 ; i<=m ; i++)
{
sum += i*3 ;
}
b = n / 5 ;
for(j=1 ; j<=b ; j++)
{
sum += j*5 ;
}
p= n / 15;
for(k=1 ; k<=p ; k++)
{
sum -= k*15 ;
}
printf("1000以内自然数,属于3或5的倍数的数字之和为 %d\n",sum);
return 0 ;
} 正确答案是啥?不然怎么帮你调试? 因为计算重复了 很多15的倍数你都加了3遍 本帖最后由 zqianglh 于 2018-8-7 21:05 编辑
程序没错!
这样写简洁
把数全打印出来了,感觉没什么问题
#include<stdio.h>
#define n 1000
int main()
{
int i, j, k ;
int m, b, p ;
int sum=0;
m = n / 3;
for(i=1 ; i<=m ; i++)
{
sum += i*3 ;
}
b = n / 5 ;
for(j=1 ; j<=b ; j++)
{
sum += j*5 ;
}
p= n / 15;
for(k=1 ; k<=p ; k++)
{
sum -= k*15 ;
}
printf("1000以内自然数,属于3或5的倍数的数字之和为 %d\n",sum);
sum=0;
m=n;
do
{
if(m%3==0)
k=m;
else if(m%5==0)
k=m;
else
k=0;
if(k)
printf("%4d",k);
sum+=k;
m--;
}while(m);
printf("\n1000以内自然数,属于3或5的倍数的数字之和为 %d\n",sum);
return 0 ;
} 你先给我们正确答案啊 正确结果233168,我算的234168。1000“以内”,在5的倍数那,把1000算进去了{:10_245:}
{:10_256:} 路过学习 66666666666666666 这是C啊。。python走错门了。。
一样 感觉我还需要向你们学习 {:10_277:} 顶一下 哈哈 看看 第一阶段里的?
页:
[1]