코딩테스트 회고록/코테_C언어

[C언어] while문을 이용해 -1, 3, -5, 7, -9 ... 99 를 출력하는 프로그램

iamjisu 2022. 10. 25. 01:59

C언어 수업시간, 선생님께서 내주신 코딩 문제를 풀어보았는데요

제가 짜 본 코드와 선생님의 코드를 비교하며 포스팅 해보려 합니다!!

 

 

 

< 직접 짠 코드 >

#include<stdio.h>
// whil문을 이용해서 -1, 3, -5, 7, -9, 11 ~~~~~~~~ 99 출력하고 총합을 출력하세요.

void main() {
	int i = 1, sum=0;

	while (i <= 99) {
		printf("%d \t", i*(-1));
		sum += i;
		if (i > 0) {
			i = -(i + 2);
		}
		else {
			i = -(i - 2);
		}
	}
	printf("\n");
	printf("총합 : %d", sum);
}

먼저 99까지 반복하는 while문 만들고

앞에서 i를 1로 초기화 했으니, printf문에서 -1을 먼저 곱해주었고

그 뒤에 총합을 구할 sum변수에 i값을 누적했습니다.

i가 양수이면 2를 더한 후 -1을 곱하고, 음수이면 -2를 더한 후 -1을 곱하는 if문을 만들고

마지막에는 줄바꿈을 한 뒤 총합을 출력했습니다.

 

 

 

 

 

<선생님 코드>

#include<stdio.h>

void main() {
	int i = 1, count=1;
	total = 0;

	while (i <= 100) {
		if (count %2==0) {
			printf("%d", i);
			total += i;
		} else {
			printf("-%d", i);
			total += i*(-1);
		}
		i += 2;
		count++;
	}

	printf("\n");
	printf("총합은 %d 입니다. \n", total);
}

제가 짠 코드와 선생님 코드와의 다른 점은 count변수의 이용여부 입니다.

선생님은 count변수가 1씩 증가한다는 점을 이용해

count변수의 값이 홀수일 때 i에 -1을 곱하는 방식으로 답을 구하셨습니다.