카테고리 없음

03-28 C++ 보충 4챕터

pp4037 2026. 3. 28. 11:38
// Main.c
// 챕터 4-1 : while문
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>


int main(void)
{

	int i = 1; // 정수형 변수 i에 1을 대입시킨다.

	while (i < 5) //while(조건문){} 이 경우 i가 5 미만일 때 조건문이 true이다.
	{
		printf("%d\n", i); //%d 형식으로 i를 출력한다.

		++i; // i의 값에 +1을 더한다.
	}


	int A = 1;
	int D = 1;

	while (A < 6)
	{
		D *= 2;
		++A;
	}
	printf("%d\n", D);

	int B = 1;
	int C = 0;
	while (B < 6)
	{
		C += 10;
		++B;
	}
	printf("%d\n", C);

	int Num;
	int sum = 0;
	int E = 0;

	while (E < 8)
	{
		scanf("%d", &Num);
		if (sum < Num)
		{
			sum = Num;
		}
		++E;
	}
	printf("%d", sum);


	int Num2;
	int sum2 = 50;
	int F = 0;

	while (F < 6)
	{
		scanf("%d", &Num2);
		if (Num2 < 0)
		{
			printf("%s\n", "You cannot enter negative numbers. Please enter them again.");
		}
		else if(Num2 > 100)
		{
			printf("%s\n", "You cannot enter a value that is too large. Please enter it again.");
		}
		else if(sum2 > Num2)
		{
			printf("%s\n", "Saves the new value.");
			sum2 = Num2;
			++F;
		}
	}

	printf("%d", sum2);

	return 0;
}

 

 

// Main.c
// for문
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void)
{
	int i;

	for (i = 1; i < 5; ++i) // for (초기식; 조건식; 증감식){명령어}
	{
		printf("%d\n", i);
	}

	int A;
	int Num;
	int sum = 0;

	for (A = 1; A < 6; ++A)
	{
		scanf("%d", &Num);
		sum += Num;
	}
	printf("%d\n", sum);

	int B;
	int Num2;
	int sum2 = 0;
	int C = 0;
	int D = 0;

	for (B = 1; B < 6; ++B)
	{
		scanf("%d", &Num2);
		if (Num2 > 0)
		{
			++C;
		}
		else
		{
			++D;
		}
		printf("%d %d\n", C, D);
	}

	return 0;
}
// Main.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//do while문

int main(void)
{
	int i = 0, Boom = 5;

	do // 해당 명령문을 수행한다.
	{
		printf("%d...\n", i);

		++i;
	} while (i < Boom); // while문의 조건식이 ture일 경우 다시 do 로 돌아가서 같은 명령문을 반복한다. false의 경우 다음 줄로 넘어간다.

	printf("BOOM!!!");

	//do
	//{
	// 명령문
	//} while(조건문);
	

	int A = 0;
	int B;
	int C = 0;

	do
	{
		scanf("%d", &B);
		C += B;
		++A;
		printf("%s %d\n", "Current value of variable C :", C);
	} while (A < 5);

	printf("%d", C);

	return 0;
}
// Main.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//무한반복문과 break, continue
int main(void)
{
	int i = 0;

	while (1) // 무한반복문을 돌릴 경우 false값인 0을 제외한 다른 값을 넣으면 된다.
	{
		if (i % 2 == 1)
		{
			++i;
			continue; // 반복문의 해당 회차에서 continue 아래의 명령문을 건너뛴다.
		}

		if (5 <= i)
		{
			break; // 해당 반복문에서만 탈출한다. 다중 반복문 전체를 탈출하는 게 아니다. 
		}

		printf("%d\n", i);

		++i;
	}

	//while(1)
	//{
	//int i = 0;
	//while(1){
	//while(2){
	//명령문
	//break <- while(2)만 탈출한다.



	int A = 0;
	int B;

	while (1)
	{
		scanf("%d", &B);
		if (B > 0)
		{
			printf("%s\n", "Variable B is greater than 0.");
			continue;
		}
		if(B == 0)
		{
			printf("%s\n", "Variable B is equal to 0. Terminates the loop.");
			break;
		}

		printf("%s\n", "Variable B is less than 0.");
	}

	return 0;
}
// Main.c

#include <stdio.h>
//이중 반복문1
int main(void)
{
	int i, j;

	for (i = 1; i <= 3; ++i) // 해당 조건문이 ture일 때
	{
		printf("%c ", '&'); // 해당 명령문을 출력한다.
		for (j = 1; j <= 3; ++j) //그리고 해당 조건문이 ture일 때
		{
			printf("%c ", '*');// 해당 조건문을 반복하고 끝난다면 다시 첫번째 for문으로 돌아간다.
		}
		printf("\n");
	}

	//for(초기식; 조건식; 증감식)
	//{
	//명령문;
	//for(초기식; 조건식; 증감식)
	//명령문
	//}
	//}

	int A, B;

	for(A = 1; A < 5; ++A)
	{
		printf("%s\n", "Reload!");
		for (B = 1; B < 8; ++B)
		{
			printf("%s ", "Bang!!");
		}
		printf("\n");
		printf("%s ", "I've used up all the bullets.");
		printf("\n");
	}

	int C, D;
	int E = 1;

	for(C = 1; C < 4; ++C)
	{
		for(D = 1; D < 5; ++D)
		{
			printf("%d ", E);
			++E;
		}
		printf("\n");
	}

	int F;
	int G = 0;

	for (F = 1; F < 6; ++F)
	{
		while(1)
		{
			printf("%8s\n", "hello");
			printf("%-8s\n", "hi");
			++G;
			if (G > 3) 
			{
				printf("%20s\n", "break");
				break;
			}
		}
		G = 0;
	}


	return 0;
}
// Main.c
// 이중 반복문 2
#include <stdio.h>

int main(void)
{
	int i, j, k;

	for (i = 1; i <= 3; ++i) // 아래 명령문을 3 번 반복한다.
	{
		for (j = i; j < 3; ++j) // printf(" "); 라는 명령문을 i 만큼 반복한다. 예를 들어 i의 값이 1일 경우 2 번 실행된다.
		{
			printf(" ");
		}

		for (k = 1; k <= i; ++k) // printf("*"); 라는 반복문을 i 횟수 이하만큼 반복한다. 예를 들어 i의 값이 1일 경우 1 번 실행된다.
		{
			printf("*");
		}

		printf("\n");
	}
	
	int A, B, C, D, E, F, G;

	for (A = 1; A <= 10; ++A) // A의 값이 10보다 작거나 같은 동안 true로 분류되며 반복문을 실행할 때마다 A의 값을 1 올린다.
	{
		if(A > 5) // A의 값이 5 이상일 때만 해당 명령문을 실행한다.
		{

			for (E = A; E > 6; --E) // E에 A의 값을 대입시키고 E가 6보다 클 때만 true로 분류되며 반복문을 실행할 때마다 E의 값을 1 내린다.
			{
				printf(" ");
			}
			for(F = 10; F >= A; --F) // F에 10울 대입시키고 F가 A보다 크거나 같을 때만 true로 분류되며 반복문을 실행할 때마다 F의 값을 1 내린다.
			{
				printf("*");
			}
			for (G = 10; G > A; --G)
			{
				printf("*");
			}
			printf("\n");
			continue;// 해당 명령문이 실행될 때에 하단의 명령문은 넘어간다.
		} 

		for (B = A; B < 5; ++B) // B에 A의 값을 대입시키고, B가 5보다 작은 동안 true로 분류되며 반복문을 실행할 때마다 B의 값을 1 올린다.
		{
			printf(" "); // 만약 A의 값이 1이라면 4번 실행되고, A의 값이 5라면 0번 실행된다.
		}

		for (C = 1; C <= A; ++C) // C의 값에 1을 대입시키고, C 가 A보다 작거나 같은 동안 true로 분류되며 반복문을 실행할 때마다 C의 값을 1 올린다.
		{
			printf("*"); //만약 A의 값이 1 이라면 1 번 실행되고, A의 값이 5라면 5번 실행된다.
		}
		for (D = 1; D < A; ++D)
		{
			printf("*");
		}

		printf("\n");
	}

	return 0;
}