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을 곱하는 방식으로 답을 구하셨습니다.
'코딩테스트 회고록 > 코테_C언어' 카테고리의 다른 글
[C언어] 100미만의 연속된 두 자리수의 짝수 3개를 곱하여 4****2가 되도록 하는 수 3개를 구하고, 전체 숫자를 구하는 프로그램 (0) | 2022.10.25 |
---|