🖥C & C++/인프런 기초학습

[C/C++] 18강~19강 정리

728x90
반응형


< 18강. for 문 3 >


* break 

 반복문 한 개를 빠져나옴


#include <stdio.h>


int main() {

    

    for (int i = 1; ; i++){

        int k;

        scanf("%d",&k);

        

        if (k ==0){

            break;

        }

        

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

        

    }

}


결과 : 

2

1번쩨 : 2

3

2번쩨 : 3

4

3번쩨 : 4

2

4번쩨 : 2

1

5번쩨 : 1

2

6번쩨 : 2

4

7번쩨 : 4

4

8번쩨 : 4

0

logout


* continue

 현재 돌고있는 루프를 한 번 건너뛰겠다는 것 


int main() {

    int n;

    scanf("%d",&n);

    

    // 1+2+4+5+7+8+10    3의 배수는 안더함

    

    int sum = 0;

    for (int i = 1 ;i <= n ; i++) {

        if (i % 3 == 0){

            continue;

        }

        sum += i;

    }

    printf("%d",sum);

}



* 중첩 for문 (!중요!)



int main() {

    int n;

    scanf("%d",&n);

    

    /*

     

      ***

      ***

      ***

     

     출력하기

     */

    

    // 중첩 for문 일 경우 변수명을 다르게 해주기, 헷갈림

    for (int i = 1; i <= n ;i ++){

        for (int j = 1; j <= n ; j++){

            printf("*");

        }

        printf("\n");

    }

}



int main() {

    int n;

    scanf("%d",&n);

    

    

    // 중첩 for문 일 경우 변수명을 다르게 해주기, 헷갈림

    for (int i = 1; i <= n ;i ++){

        for (int j = 1; j <= i ; j++){

            printf("*");

        }

        printf("\n");

    }

}


j <=  i 일 경우 i가 1,2,3,...,10이 되기에 계단 모양이 출력된다. 




< 19강. 섹션2 (연산자와 제어문) 종합문제 >


연산자 : +  - / * % += -= ++ -- && || !

조건문 : if() switch()

반복문 : while() for()



/*

 1. 시험점수 입력을 받아서 등급을 매겨라

 

 90 ~ 100 : A

 80 ~ 89 : B

 70 ~ 79 : C

 60 ~ 69 : D

 50 ~ 59 : E

 */


#include <stdio.h>


int main() {

    int score;

    scanf("%d",&score);

    

    if (score > 100 || score <0){

        printf("잘못 입력했습니다");

    }

    else if (score >= 90){

        printf("A\n");

    }

    else if (score >= 80){

        printf("B\n");

    }

    else if (score >= 70){

        printf("C\n");

    }

    else if (score >= 60 ){

        printf("D\n");

    }

    else {

        printf("E\n");

    }

}



if 문 뒤에 한 줄 일경우 중괄호 생략 가능 



/*

  2. 자연수 입력 : n

  n의 약수를 다 출력

 */

#include <stdio.h>


int main() {

    int n;

    scanf("%d",&n);

    

    for (int i = 1; i <= n ;i++){

        if (n % i == 0){

            printf("%d ,",i);

        }

    }

}




/*

 3. 일의 자릿수가 3,6,9인 경우 * 출력

 1 2 * 4 5 * .... n 까지

 */



#include <stdio.h>


int main() {

    int n;

    scanf("%d",&n);

    

    for (int i = 1 ; i <= n ; i++){

        int k = i % 10;

        if (k == 3 || k == 6 || k == 9){

            printf("* ");

        }

        else {

            printf("%d ", i);

        }

    }

}



/*

  4. n = 4

  1

  1 3

  1 3 5

  1 3 5 7

 

 출력

 */



#include <stdio.h>


int main() {

    int n;

    scanf("%d",&n);

    

    for (int i = 1; i <= n ; i++){

        for (int j = 1; j <= i ; j++){

            printf("%d ",2*j-1);

        }

        printf("\n");

    }

}



#include <stdio.h>


int main() {

    int n;

    scanf("%d",&n);

    

    for (int i = 1; i <= n ; i++){

        for (int j = 1; j <= 2*i-1 ; j += 2){

            printf("%d ",j);

        }

        printf("\n");

    }

}


둘 다 가능 



/*

  5. n = 4

  

  1

  1 2 3

  1 2 3 4 5

  1 2 3 4 5 6 7

 

 */


#include <stdio.h>


int main(){

    int n;

    scanf("%d",&n);

    

    for (int i = 1 ; i <= 2*n-1;i += 2) {

        for (int j = 1; j <= i; j++){

            printf("%d",j);

        }

        printf("\n");

    }

}



#include <stdio.h>


int main(){

    int n;

    scanf("%d",&n);

    

    for (int i = 1 ; i <= n;i++) {

        for (int j = 1; j <= 2*i-1; j++){

            printf("%d",j);

        }

        printf("\n");

    }

}


둘 다 가능!

728x90
반응형