본문 바로가기

코딩/코드업 (C언어 기초 100제)97

1081 : [기초-종합] 주사위를 2개 던지면?(설명) 1부터 n까지, 1부터 m까지 숫자가 적힌 서로 다른 주사위 2개를 던졌을 때 나올 수 있는 모든 경우를 출력해보자. 참고 중첩의 원리... 반복 실행 구조도 조건 실행 구조와 마찬가지로 중첩의 원리가 적용된다. 반복 실행 구조를 중첩하면 원하는 반복 구조를 다양하게 만들어 낼 수 있다. 예시 int i, j; int n=3, m=6; for(i=1; i 2021. 6. 23.
1080 : [기초-종합] 언제까지 더해야 할까? 1, 2, 3 ... 을 계속 더해 나갈 때, 그 합이 입력한 정수(0 ~ 1000)보다 같거나 작을 때까지 계속 더하는 프로그램을 작성해보자. 즉, 1부터 n까지 정수를 계속 더한다고 할 때, 어디까지 더해야 입력한 수보다 같거나 커지는지 알아보고자 하는 문제이다. 입력 정수 1개가 입력된다. 출력 1, 2, 3, 4, 5 ... 를 순서대로 계속 더해 합을 만들어가다가, 입력된 정수와 같거나 커졌을 때, 마지막에 더한 정수를 출력한다. 입력 예시 55 출력 예시 10 #include int main(){ int i,a,sum=0; scanf("%d",&a); for(i=1; ;i++){ // i=1 부터 무한루프 표현!! sum += i; if(sum>=a) break; } printf("%d",i).. 2021. 6. 22.
1079 : [기초-종합] 원하는 문자가 입력될 때까지 반복 출력하기 'q'가 입력될 때까지 입력한 문자를 계속 출력하는 프로그램을 작성해보자. 입력 문자들이 1개씩 계속해서 입력된다. 출력 'q'가 입력될 때까지 입력된 문자를 줄을 바꿔 한 줄씩 출력한다. 입력 예시 x b k d l q g a c 출력 예시 x b k d l q #include int main(){ char a='-1'; // a 가 q 아니게 표현해준 것.. q만 아니면 됨 while (a !='q'){ scanf("%c",&a); if(a != ' '){ // 이 처리가 없으면 공백이 출력이 됨!! printf("%c\n",a); } } return 0; } 2021. 6. 22.
1078 : [기초-종합] 짝수 합 구하기(설명) 정수(1 ~ 100) 1개를 입력받아 1부터 그 수까지 짝수의 합을 구해보자. 참고 while( ) {...}, do {...} while( );, for(...; ...; ...) {...} 등의 반복문은 형태만 다르 고, 똑같은 성능을 발휘한다. 필요에 따라 편리한 것으로 골라 사용하면 된다. 예시 //아래의 예는 홀수일 경우만 더해 그 결과를 출력한다. int sum=0; int i, n; scanf("%d", &n); for(i=1; i 2021. 6. 22.
1077 : [기초-반복실행구조] 정수 1개 입력받아 그 수까지 출력하기(설명) 정수(0 ~ 100) 1개를 입력받아 0부터 그 수까지 순서대로 출력해보자. for((반복전 실행/준비 내용); (조건 검사 내용); (한번 실행한 후 처리할 작업)) { //코드블록 ... } 반복 구조를 사용하자. 참고 for((반복전 실행/준비내용); (조건 검사 내용); (한번 실행한 후 처리할 작업)) { //코드블록 ... } 구조는 while( ) {...}, do {...} while( ); 구조와 같이 어떤 작업을 반복적으로 수행할 때 가장 일반적으로 많이 사용하는 구조이다. while( ) {...}, do {...} while( ); 과 다르게 반복을 위한 초기화/준비, 조건검사, 반복 후 증감 등을 한 번에 작성할 수 있다. for( ... ) 를 사용할 때에는 반복 실행되는 과정에.. 2021. 6. 22.
1076 : [기초-반복실행구조] 문자 1개 입력받아 알파벳 출력하기(설명) 영문자(a ~ z) 1개가 입력되었을 때 그 문자까지의 알파벳을 순서대로 출력해보자. 참고 do { //코드블록 ... }while(조건); //do~while( ) ; 구조는 반드시 마지막에 세미콜론(;)을 붙여야 한다. 구조를 사용하자. do { //코드블록 ... }while(조건); 구조는 while( ) { ... } 과 유사한 반복 실행 구조를 만들 수 있는데 다른 점은 무조건 한 번은 실행된다는 것이다. 마지막에 세미콜론을 반드시 붙여야 한다. 예시 char x, t='a'; scanf("%c", &x); do { printf("%c ", t); t+=1; //t+=1; 는 t=t+1과 같은 의미이다. }while(t 2021. 6. 22.
1075 : [기초-반복실행구조] 정수 1개 입력받아 카운트다운 출력하기2(설명) 정수(1 ~ 100) 1개가 입력되었을 때 카운트다운을 출력해보자. 예시 int n; scanf("%d", &n); while(n!=0) { n=n-1; //n--; 와 같다. printf("%d", n); } 입력 정수 1개가 입력된다. (1 ~ 100) 출력 1씩 줄이면서 한 줄에 하나씩 0이 될 때까지 출력한다. 입력 예시 5 출력 예시 4 3 2 1 0 #include int main(){ int a; scanf("%d",&a); a--; while(a!=-1){ printf("%d\n",a); a--; } return 0; } 2021. 6. 22.
1074 : [기초-반복실행구조] 정수 1개 입력받아 카운트다운 출력하기1(설명) 정수(1 ~ 100) 1개가 입력되었을 때 카운트다운을 출력해보자. while(조건) { ... } 구조를 사용하자. 예시 int n; scanf("%d", &n); while(n!=0) { printf("%d", n); n=n-1; //n--;와 같다. } 입력 정수 1개가 입력된다. (1 ~ 100) 출력 1씩 줄이면서 한 줄에 하나씩 1이 될 때까지 출력한다. 입력 예시 5 출력 예시 5 4 3 2 1 #include int main(){ int a; scanf("%d",&a); while(a!=0){ printf("%d\n",a); a--; // a = a-1 표현!! } return 0; } 2021. 6. 22.
1073 : [기초-반복실행구조] 0 입력될 때까지 무한 출력하기2(설명) 정수가 순서대로 입력된다. -2147483648 ~ +2147483647, 단 개수는 알 수 없다. 0이 아니면 입력된 정수를 출력하고, 0이 입력되면 출력을 중단해보자. if(조건) { //코드블록 ...; } 구조를 사용하면 주어진 조건이 참인 경우만 코드블록 부분이 실행된다. 비슷하게 어떤 조건에 따라 반복적으로 실행시킬 때에는 if를 while로 바꾸기만 하면 while(조건) { //코드블록 ...; } 와 같은 방법으로 코드블록의 내용을 반복적으로 수행시킬 수 있다. 수행되는 과정은 1. 먼저 조건을 검사한다. 2. 코드블록을 실행한다. 3. 다시 조건을 검사한다. 4. 코드블록을 실행한다. ... 와 같이 주어진 조건이 참인 동안 계속적으로 반복 실행한다. 이렇게 while(조건){...}을.. 2021. 6. 22.