while문을 이용해서 -1, 3, -5, 7, -9, 11~ 99까지 출력하고 총합을 출력하세요.
//ex
-1
3
-5
7
-9
11
-13
15
-17
19
-21
23
-25
27
-29
31
-33
35
-37
39
-41
43
-45
47
-49
51
-53
55
-57
59
-61
63
-65
67
-69
71
-73
75
-77
79
-81
83
-85
87
-89
91
-93
95
-97
99
합계 : 50
//while문을 이용해서 -1, 3, -5, 7, -9, 11~ 99까지 출력하고 총합을 출력하세요.
#include <stdio.h>
int main(void) {
int num = 1;
int cnt = 1;
int sum = 0;
while (num <= 99) {
if (cnt % 2 != 0) {
sum -= num;
printf("%d\n", -1 * num);
}
else {
sum += num;
printf("%d\n", num);
}
num+=2;
cnt++;
}
printf("합계 : %d\n", sum);
}
int num = 1;
int cnt = 1;
int sum = 0;
출력할 숫자인 num
의 초깃값을 1
로 잡습니다. 절댓값으로 놓고 보았을 때 1
3
5
7
로 2
씩 증가하는 규칙성이 있기 때문에 처음 시작 값인 -1
의 절댓값인 1
을 초깃값으로 주는 것입니다.
cnt
는 숫자에 임의의 번호를 지정합니다. -
와 +
가 번갈아서 나오기 때문에 cnt
가 1
, 즉 홀수라면 num
에 -1
을 곱하여 출력하고, cnt
가 2
, 즉 짝수라면 num
의 값을 그대로 출력하도록 설정하기 위함입니다.
모든 숫자들의 합계를 구할 sum
을 선언하고 초깃값을 0
으로 지정합니다. 숫자들을 누적시켜 합계를 구할 것이기 때문에 반드시 초깃값을 0
으로 지정해야 합니다.
while (num <= 99) {
if (cnt % 2 != 0) {
sum -= num;
printf("%d\n", -1 * num);
}
else {
sum += num;
printf("%d\n", num);
}
num+=2;
cnt++;
}
num
이 99
가 될 때까지 반복하는 while문
을 만들어줍니다.
만약 cnt
가 홀수라면 -
를 붙인 값으로 sum
에 누적시켜야 하고 출력해야합니다. 때문에 sum -= num
으로 sum
의 값에 num
만큼을 빼고 num * -1
의 값을 출력합니다.
만약 cnt
가 짝수라면 num
그대로의 값을 sum
에 누적시키고 출력해야 합니다.
숫자를 누적시키고 출력까지 완료했다면 그 다음에는 num
과 cnt
의 값들을 증가시킬 순서입니다.
num
의 절댓값은 2
씩 증가하므로 num
의 값에 2
를 더해주어야 하고,
cnt
는 각 숫자의 임의의 번호이므로 cnt
의 값에 1
을 증가시키면 됩니다.
이러한 실행문을 실행하면 그 다음 숫자로 넘어가 진행을 할 수 있게 됩니다.
printf("합계 : %d\n", sum);
sum
을 출력하여 합계를 출력합니다.