코딩테스트 회고록/코테_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을 곱하는 방식으로 답을 구하셨습니다.