![](/img/trans.png)
[英]C program to find the sum of all odd integers up to n using while-loop
[英]How does % work on this C program? (sum of odd and even integers)
這是代碼:
#include <stdio.h>
#include <conio.h>
void main()
{
int i, N, oddSum = 0, evenSum = 0;
printf("Enter the value of N\n");
scanf ("%d", &N);
for (i=1; i <=N; i++)
{
if (i % 2 == 0)
evenSum = evenSum + i;
else
oddSum = oddSum + i;
}
printf ("Sum of all odd numbers = %d\n", oddSum);
printf ("Sum of all even numbers = %d\n", evenSum);
}
在此程序中,它從用戶(N)獲取一個數字,然后在兩條不同的行中打印奇數和偶數之和。
兩個問題:
1-%在這里如何工作? 2-完全解釋這一行:
if (i % 2 == 0)
evenSum = evenSum + i;
%
運算符為您提供余數除法。 除以2,偶數除以2將始終具有0的余數。 奇數,如果為正數,則余數為1 ;如果為負數,則余數為-1 。 您只需要測試一個案例就可以確定是否成立,這就是您在現有代碼中看到的情況。
if (i & 1) // Example: 0101 (5) & 0001 (1) == 1
// Odd
else // Example: 0100 (4) & 0001 (1) == 0
// Even
該方法不涉及除法,在處理帶符號整數時只有兩個可能的結果,而不是三個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.