计算出 1000 以下的自然数中,属于 3 或 5 的倍数的数字之和
#include<stdio.h>int main(){
int sum = 0;
for(int i = 0;i<=1000;i++)
{
if(i % 3 == 0&&i % 5 == 0)
{
sum += i;
}
}
printf("1000以内的自然数,是3或5的倍数的%d和",sum);
return 0;
}
答案不对,不知哪错了? % 3 == 0&&i % 5 == 0
或|| ba21 发表于 2019-5-29 21:35
% 3 == 0&&i % 5 == 0
或||
好像还是不太对 乔宽 发表于 2019-5-29 23:51
好像还是不太对
1000 以下
i<=1000 // 我觉得这不是1000 以下 我用屁股想都知道。
i<1000 // 我认为这都是1000 以下
本帖最后由 bin554385863 于 2019-5-30 11:42 编辑
# include<stdio.h>
void main()
{
int sum = 0, temp = 0;
for (size_t i = 0 ; i < 1000 ; i++)
{
if (( i % 5 == 0 ) || ( i % 3 == 0 ) &&
(i % 15 != 0))
{
sum = sum + i;
}
if (i % 15 == 0)
{
temp = temp + i;//多谢楼下提醒
}
}
printf ("sum = %d", sum + temp);
} 你还是再去复习一遍逻辑运算符和数学运算符的优先级吧,如果记不住,就用小括号调整运算顺序。 这样统计有重合,15是3和5的倍数,++时15会被算两次 >>> sum()
1-999 的答案应该是 233168
>>> bin554385863 发表于 2019-5-30 01:45
你还是再去复习一遍逻辑运算符和数学运算符的优先级吧,如果记不住,就用小括号调整运算顺序。
好的,看来学的不扎实啊 其实我也记不住,→_→。万事不决,上小括号←_← for(int i = 0;i < 1000;i++)
{
if(i%3==0 || i%5==0)
{
这样就行
页:
[1]