[C] -1, 3, -5, 7 ~ 99까지의 수와 총합 구하기

Haeun Noh·2022년 10월 17일
0

C언어_예제

목록 보기
12/19

1017


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 72씩 증가하는 규칙성이 있기 때문에 처음 시작 값인 -1의 절댓값인 1을 초깃값으로 주는 것입니다.

cnt는 숫자에 임의의 번호를 지정합니다. -+가 번갈아서 나오기 때문에 cnt1, 즉 홀수라면 num-1을 곱하여 출력하고, cnt2, 즉 짝수라면 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++;
	}

num99가 될 때까지 반복하는 while문을 만들어줍니다.

만약 cnt가 홀수라면 -를 붙인 값으로 sum에 누적시켜야 하고 출력해야합니다. 때문에 sum -= num으로 sum의 값에 num만큼을 빼고 num * -1의 값을 출력합니다.

만약 cnt가 짝수라면 num그대로의 값을 sum에 누적시키고 출력해야 합니다.

숫자를 누적시키고 출력까지 완료했다면 그 다음에는 numcnt의 값들을 증가시킬 순서입니다.

num의 절댓값은 2씩 증가하므로 num의 값에 2를 더해주어야 하고,
cnt는 각 숫자의 임의의 번호이므로 cnt의 값에 1을 증가시키면 됩니다.
이러한 실행문을 실행하면 그 다음 숫자로 넘어가 진행을 할 수 있게 됩니다.


	printf("합계 : %d\n", sum);

sum을 출력하여 합계를 출력합니다.



profile
기록의 힘을 믿는 개발자, 노하은입니다!

0개의 댓글