[C 기초] 단일 반복문 복습

zzzzsb·2021년 1월 22일
0

C 기초 복습

목록 보기
4/8

C 프로그래밍 기초 - 단일 반복문

🧐 for 문

시작값을 확인하고 시작값이 조건식을 만족하면 실행문이 실행된다. 그후 증가감을 한다.

예제

for(시작값; 조건식; 증가감){
	실행문;
}

예제

#include <stdio.h>
int main(){
	int i;
    for(i=1;i<=5;i++)
    	printf("%d\n", i);
    }
}

🧐 while 문

예제

#include <stdio.h>
int main(){
	int i=1;
    while(i<=5){
    	printf("%d\n", i);
        i++;
    }
}
  • i의 값은 0으로 시작한다.
  • 조건문 안이 참이면 반복한다.
  • i++은 i 값을 1 증가시킨다.

예제

#include <stdio.h>
int main(){
	int i=1;
    while(1){
    	printf("%d\n", i);
        i++;
        if(i==5) break;
    }
}
  • while 문 안의 조건이 1이면 항상 참이므로 무한반복 한다.
  • break 는 반복을 종료한다.
  • continue는 반복문 안의 실행문을 실행하지 않고 건너 뛰라는 명령어이다.

예제 복습하기

15. 1부터 N까지 출력

#include <stdio.h>

int main(){
    int num;
    int i=0;
    scanf("%d", &num);
    
    for(i=0;i<=num;i++){
        printf("%d ",i);
    }

    return 0;

}

16. 1부터 N까지 홀수 출력

#include <stdio.h>

int main(){
    int num;
    int i=0;
    scanf("%d", &num);
    
    for(i=0;i<=num;i++){
        if(i%2==1){
            printf("%d ",i);
        }
    }

    return 0;
    
}

17. 1부터 N까지 합 출력

#include <stdio.h>

int main(){
    int num;
    int i=0;
    int sum=0;
    scanf("%d", &num);
    
    for(i=0;i<=num;i++){
        sum=sum+i;
    }
    printf("%d\n", sum);
    return 0;
    
}

18. 1부터 N까지 짝수의 개수

#include <stdio.h>

int main(){
    int num;
    int i=0;
    int evenNum=0;
    scanf("%d", &num);
    
    for(i=1;i<=num;i++){
        if(i%2==0){
            evenNum++;
        }
    }
    printf("%d\n", evenNum);
    return 0;
    
}

19. N의 약수 출력

#include <stdio.h>

int main(){
    int num;
    int i=0;
    scanf("%d", &num);
    
    for(i=1;i<=num;i++){
        if(num%i==0){
            printf("%d ", i);
        }
    }

    return 0;
    
}

20. 소수 판별하기

#include <stdio.h>

int main(){
    int num;
    int i=0;
    int primeNum = 0;
    scanf("%d", &num);
    
    for(i=1;i<=num;i++){
        if(num%i==0){
            primeNum++;
        }
    }
    if(primeNum==2){
        printf("YES");
    }
    else{
        printf("NO");
    }
    
    return 0;
    
}

21. 최대공약수

#include <stdio.h>

int main(){
    int a, b, min;
    int i=0;
    int gdcNum=0;;
    scanf("%d %d", &a, &b);
    if(a<b) min=a;
    else min=b;
    for(i=min;i>=1;i--){
        if(a%i==0 && b%i==0){
            printf("%d\n", i);
            break;
        }
    }

    return 0;
    
}

22. 구구단 출력하기

#include <stdio.h>

int main(){
    int a, b, min;
    int i=0;
    int gdcNum=0;;
    scanf("%d %d", &a, &b);
    if(a<b) min=a;
    else min=b;
    for(i=min;i>=1;i--){
        if(a%i==0 && b%i==0){
            printf("%d\n", i);
            break;
        }
    }

    return 0;
    
} 

23. 지수연산

#include <stdio.h>

int main(){
    int a, b, i;
    int expNum =1;
    scanf("%d %d", &a, &b);
    for(i=1;i<=b;i++){
        expNum *= a;
    }
    printf("%d\n", expNum);

    return 0;
    
}

24. 최소값 구하기

#include <stdio.h>

int main(){
    int a;
    int i=0;
    int minNum=2147483647;
    for(i=1;i<=7;i++){
        scanf("%d", &a);
        if(a<minNum){
            minNum = a;
        } 
    }
    printf("%d\n", minNum);

    return 0;
    
}

25. 홀수(정올 기출)

#include <stdio.h>

int main(){
    int i=0, sum=0;
    int n;
    int min=2147483647;

    for(i=1;i<=7;i++){
        scanf("%d", &n);
        if(n%2==1){
            sum+=n;
            if(n<min){
                min=n;
            }
        }
    }
    printf("%d\n", sum);
    printf("%d\n", min);

    return 0;
}

26. 동물의 수 구하기

#include <stdio.h>

int main(){
    int i=0;
    int a, b, tmp;
    
    scanf("%d", &a);
    scanf("%d", &b);

    //i=토끼 수
    for(i=0;i<a;i++){
        tmp= (4*i)+(2*(a-i));
        if(tmp==b){
            printf("%d %d\n", i, a-i);
            break;
        }
    }

    return 0;
}

27. 10부제(정올 기출)

#include <stdio.h>

int main(){
    int i;
    int day, car, limit=0;;
    scanf("%d", &day);
    for(i=0;i<7;i++){
        scanf("%d", &car);
        if(car%10==day){
            limit++;
        }
    }
    printf("%d\n", limit);

    return 0;


}

28. 사과(정올 기출)

#include <stdio.h>

int main(){
    int i;
    int school;
    int student, apple;
    int lefted, cnt=0;

    scanf("%d", &school);
    for(i=0;i<school;i++){
        scanf("%d %d", &student, &apple);
        lefted = apple%student;
        cnt+=lefted;
    }
    printf("%d\n", cnt);

    return 0;
}
profile
성장하는 developer

0개의 댓글