Small Grey Outline Pointer 반복문 연습문제 풀기
본문 바로가기
Dev./C++

반복문 연습문제 풀기

by sso. 2022. 3. 6.
#include <stdio.h>

void main() {


	int i;
	i = 1;

	while (i <= 10) {
		printf("%d\n", i);
		i++;
	}


	for (i = 1; i <= 10; i++) {
		printf("%d\n", i);
	}



//for 문 사용할 때:
//일정하게 증가 혹은 감소되는 변수가 필요할 때
//배열의 모든 원소에 순차적으로 접근하고 싶을 때
//특정 횟수 만큼 작업을 반복하고 싶을 때




	//2의 n승 출력하기
	//2^0 = 1 
	//2^1=2
	//2^2=4 
	// ....
	//2^6=64

	int n;
	scanf_s("%d", &n);

	for (int i = 0, t=1; i <= n; i++, t*=2) {
		printf("2^%d= %d\n", i, t);
	}

	/*int i = 0 , t=1;*/ //1씩 증가하는 변수와 2씩 곱해지는 변수를 설정

	while (i <= n) {
		printf("2^%d=%d\n", i, t);
		i++; 
		t *= 2;
	}



	//1~n까지의 합 구하기
	int n;
	scanf_s("%d", &n);

	int i, sum;
	for (i = 1, sum = 0; i <= n; sum += i, i++);

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

}

 

 

 

 

 

 

 

#include <stdio.h>

void main() {

	//break: 반복문 한개를 빠져나옴
	//숫자 입력 -> 숫자 출력, 0이 되면 빠져나오기

	for (int i = 1; ; i++) {
		int k;
		scanf_s("%d", &k);
		
		if (k == 0) {
			break;
		}

		printf("%d번째: %d\n", i, k);
	}





	//continue

	int n;
	scanf_s("%d", &n);

	3의 배수를 제외한 숫자의 합 (1+2+4+5+7+8+10+11+13...n)
	int sum = 0;
	for (int i = 1; i <= n; i++) {
		if (i % 3 == 0) {
			continue;
		}
		sum += i;
		}
		printf("%d\n", sum);



	//중첩 for문 으로 직각삼각형 만들기

	int n;
	scanf_s("%d", &n);

	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= i; j++) {
			printf("*");
		}
		printf("\n");
	}




	}

 

 

 

 

 

 

#include <stdio.h>


void main() {

	//do~while 을 사용하는 경우: 최소 한 번이라도 실행문이 실행 되어야 하는 경우
	int n;

	do {
		printf("제발 0을 입력해주세요!!\n");
		scanf_s("%d", &n);


	} while (n != 0);

	printf("드디어 0을 입력하셨군요!\n");



//무한반복

	int i = 1;

		while (1){
		printf("%d", i);
		i++;
	}


//do~while 
	
		int i = 18;
	
	do{
		printf("%d\n", i);
		i++;
	} while (i <= 10);



//반복문 while
	int i = 1;

	while (i <= 10){
		printf("%d\n", i);
		i++;
	}


}

 

 

 

 

 

 

//연산자: + - / * % += ++ == && || !
//조건문: if() switch()
//반복문: while() for()

//1. 시험점수 입력 A 90~100점 , B 80~89 C 70~70 D 60~69 E 50~59

#include <stdio.h>
void main() {


	int score = 0;
	//int sum = 0;

	printf("점수를 입력하세요: ");
	scanf_s("%d", &score);

	if (score > 100 || score < 0) {
		printf("잘못 입력하셨습니다.\n");
	}
	else if (score >= 90) {
			printf("A");
	}
	else if (score >= 80) {
		printf("B");
	}
	else if (score >= 70) {
	printf("C");
	}
	else if (score >= 60) {
	printf("D");
	}
	else {
		printf("E");
	}



	switch (score / 10) {
	case 10:
	case 9:
		printf("A 입니다.");
		break;

	case 8:
		printf("B 입니다.");
		break;

	case 7:
		printf("C 입니다.");
		break;

	case 6:
		printf("D 입니다.");
		break;

	default:
		printf("E 입니다.");
		break;
	}

}

 

 

 

 

#include <stdio.h>
void main() {

	//입력받은 n줄 까지 홀수 개의 숫자만 출력 되도록 반복하기
	//1 
	//1 2 3
	//1 2 3 4 5
	//1 2 3 4 5 6 7
	// i 번째 줄에서 출력되는 숫자의 개수는 2*i-1

	int n;

	printf("정수를 입력하세요: ");
	scanf_s("%d",&n);

	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= 2*i-1; j++) {
			printf("%d ", j);
		}
		printf("\n");
	}





	//정수 n을 입력받아, n줄이 될 때 까지 i 줄에 i 개의 홀수만 나오는 계단형 모양 만들기

	int n;

	printf("정수를 입력하세요: ");
	scanf_s("%d", &n);

	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= i; j++) {
			printf("%d ", 2 * j - 1); //홀수만 나오게 하기
		}
			printf("\n");
	}








	//1의 자리 수가 3 6 9 경우에 * 출력
	//1 2 * 4 5 * 7 8 * ....n까지 369게임 만들기

	int n;

	printf("정수를 입력하세요: ");
	scanf_s("%d", &n);

	for (int i = 1; i <= n; i++) {
		int k = i % 10; //i의 1의 자리수가 k
		if (k==3 || k==6 || k==9) {
			printf("* ");
		}
		else {
			printf("%d ", i);
		}
	}






	//자연수 입력: 12
	//1,2,3,4,6,12,

	int n;
	
	printf("자연수 정수를 입력하세요:");
	scanf_s("%d", &n);

	for (int i = 1; i <= n; i++) {
		if (n % i == 0) { // i가 n의 약수이면, n은 i의 배수이다. 즉 n % i ==0 나머지가 0으로 떨어짐
		printf("%d ", i);
		}
	}


}

 

 

 

 

#include <stdio.h>

void main() {


	//10개의 소수를 출력, 소수란 1과 자기 자신으로만 나누어지는 수
	int n = 2;
	int count = 0;

	while (count != 10) {
		for (int i = 2; ; i++) {
			if (i==n) {
				printf("%d ", n);
				count++;
				break;
			}
			else {
				if (n % i == 0) {
					break;
				}
			}
		}
		n++;
	}






	//정수 두개를 입력받아 구구단을 출력. 만약 4와 8을 입력받으면 4~8단까지 출력
	int num1, num2=0;

	printf("정수 두 개 입력: ");
	scanf_s("%d %d", &num1, &num2);

	for (int i = num1; i <= num2 ; i++) {
		for (int j = 1; j <= 9; j++) {
			printf("%d*%d=%d\n", i, j, i * j);
		}
	}






	//100~200 숫자 중에서 3과 7의 배수 출력, 3의 배수이면서 7의 배수이면 한번만 출력
	for (int i = 100; i <= 200; i++) {
		if (i % 3 == 0 || i % 7 == 0) {
			printf("%d ", i);
		}
	}






	//1~100까지의 정수 중 6의 배수만을 출력
	int n = 0;

	for (int i = 1; i <= 100; i++) {
		if (i % 6 == 0) {
			printf("%d ", i);
		}
	}





	// 사용자가 1이상의 정수 n을 입력하면, 1~n까지의 합을 구하여 출력하기
	 
	int n=0;
	int sum = 0;

	printf("정수를 입력하세요: ");
	scanf_s("%d", &n);


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

}

 

728x90

'Dev. > C++' 카테고리의 다른 글

포인터와 배열 연습문제 풀기, null문자  (0) 2022.03.06
포인터와 배열  (0) 2022.03.06
연산자 조건문 반복문 문제풀기  (0) 2022.03.05
반복문 연습/for문/break  (0) 2022.03.05
문자열 공부 scanf, string  (0) 2022.03.04

댓글