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을 출력하여 합계를 출력합니다.