2013-06-29 144 views
-5

我試過這個程序很多次了,但是我不能寫回答。找到以下所有3或5的倍數的總和1000

#include<stdio.h> 
int main() 
{ 
    long unsigned int i,sum=0; 
    clrscr(); 
    for(i=0;i<=1000;i++) 
    { 
     if((i%5==0)||(i%3==0)) 
     { 
      sum=sum+1; 
     } 
    } 
    printf("%d",sum); 
    getchar(); 
    return 0; 
} 

我想這樣一個答案:
如果我們在下面列出10是3或5的倍數的所有自然數,我們得到3,5,6和9這倍數的總和是23 。

回答

3
if((i%5==0)||(i%3==0)) 
     { 
      sum=sum+1; 
     } 

應該

if((i%5==0)||(i%3==0)) 
     { 
      sum=sum+i; 
     } 
1

變化

sum=sum+1; 

sum=sum+i; 
0

很基本的錯誤,你必須採取循環值我,而不是1 If條件後

sum = sum + 1 

必須

sum = sum + i 

如果你不不想包含千位,你的循環必須是

for(i=0;i<1000;i++) 
1

您已將1硬編碼到您的循環中,而不是i。應(加白色空間清晰 - 它是免費的):

if ((i % 5 == 0) || (i % 3 == 0)) 
    { 
     sum = sum + i; 
    } 

或者,更簡潔:

if ((i % 5 == 0) || (i % 3 == 0)) 
    { 
     sum += i; 
    } 
相關問題