奇数の表示されません。なぜなんでしょうか?
int main(void){ int sum1 = 0; int sum2 = 0; int i = 0; int j = 1; while(i != 100){ i = i+2; sum1 += i; } printf("偶数の合計は%dです。\n",sum1); while(j != 100){ j = j+2; sum2 += j; } printf("奇数の合計は%dです。\n",sum2); return 0; }
int main(void){ int sum1 = 0; int sum2 = 0; int i = 0; int j = 1; while(i != 100){ i = i+2; sum1 += i; } printf("偶数の合計は%dです。\n",sum1); while(j != 100){ j = j+2; sum2 += j; } printf("奇数の合計は%dです。\n",sum2); return 0; }
あたしだったら、こんな風に書きます。 #include <stdio.h> int main(void) { int even, odd, i; for (even = odd = 0, i = 1; i <= 100; i++) { if (i % 2 == 0) even += i; else odd += i; } printf("偶数の合計は%dです。\n", even); printf("奇数の合計は%dです。\n", odd); return 0; }
#include <stdio.h> int main(void) { int even, odd, i; for (even = odd = 0, i = 1; i <= 100;) { odd += i++; even += i++; } printf("偶数の合計は%dです。\n", even); printf("奇数の合計は%dです。\n", odd); return 0; }
さっき提示したソースコードは、下のものと同じことをしています。 #include <stdio.h> int main(void) { int even, odd, i; for (even = odd = 0, i = 1; i <= 100;) { odd += i; /* oddには奇数を加える */ i++; /* iは偶数になる */ even += i; /* evenには偶数を加える */ i++; /* iは奇数になる */ } printf("偶数の合計は%dです。\n", even); printf("奇数の合計は%dです。\n", odd); return 0; }