본문 바로가기

공부/C언어

(C 예제) 정수를 입력받아 1부터 정수까지의 합, 짝수합, 홀수합, 팩토리얼을 계산하는 프로그램

합, 짝수합, 홀수합은 for문, 팩토리얼은 while문을 사용.

빨간색은 사용자로부터 입력받거나, 입력한 값으로 인해 변하는 값이다.

21000000 홍길동
정수를 입력하시오: 10
1부터 10까지의 합은 55입니다.
1부터 10까지의 짝수합은 30입니다.
1부터 10까지의 홀수합은 25입니다.
10!은 3628800입니다.
#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

int main(void)
{
	int num, i= 0;
	int sum = 0; //합 결과
	int Evensum = 0; //짝수합 결과
	int Oddsum = 0; //홀수합 결과
	int fact = 1;

	printf("21000000 홍길동\n");
	printf("정수를 입력하시오: ");
	scanf("%d", &num);

	for (i = 1; i <= num; i++)
	{
		sum += i;
	}
	printf("1부터 %d까지의 합은 %d입니다.\n", num, sum);

	for (i = 2; i <= num; i += 2)
	{
		Evensum += i;
	}

	for (i = 1; i <= num; i += 2)
	{
		Oddsum += i;
	}

	printf("1부터 %d까지의 짝수합은 %d입니다.\n", num, Evensum);
	printf("1부터 %d까지의 홀수합은 %d입니다.\n", num, Oddsum);
	
	i = 0;
	while (i < num)
	{
		i++;
		fact *= i;
	}
	printf("%d!은 %d입니다.", num, fact);
}

#define은 VS에서 나타나는 scanf관련 컴파일 경고때문에 선언함.
컴파일러 설정 변경으로 해결할 수 있지만, 귀찮아서 변경안하고 선언으로 해결.

재귀는 사용하지않고, 변수사용을 최대한으로 줄이려고 함.