Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

코딩 공부

<Codeup 61-70> 코드업 문제풀이 본문

codeup 기초 100제

<Codeup 61-70> 코드업 문제풀이

예인📚 2019. 12. 8. 21:53

1061 [기초-비트단위논리연산] 비트단위로 OR하여 출력하기 

코드업 기초 100제 061

문제 풀이: 정수 두개를 비트단위로 or 연산하는건 정수 각각의 비트단위에서 둘 중 하나라도 1인 자리를 1로 만들어주는 것과 같다.  or 연산을 하려면 비트단위 연산자 중 하나인 | 파이프연산자를 사용한다. 

#include <stdio.h>

int main()
{
int a, b; //a와 b를 정수형으로 저장한다

scanf("%d %d", &a, &b); //a와 b값을 입력받는다 
printf("%d", a|b); //a와 b를 비트단위로 or연산 한다 
return 0;
}


1062 [기초-비트단위논리연산] 비트단위로 XOR하여 출력하기 

코드업 기초 100제 062

문제 풀이: 정수 두개를 비트단위로 xor연산하는건 정수 각각의 비트단위에서 값이 다른것만 1로 만들어주는거다. xor 연산을 하려면 비트단위 연산자 중 하나인 ^을 사용한다. 

#include <stdio.h>

int main()
{
int a, b; //a와 b를 정수형으로 저장한다
scanf("%d %d", &a, &b); //a와 b값을 입력받는다 
printf("%d", a^b); //a와 b를 비트단위로 xor연산한다 
return 0;
}


1063 [기초-삼항연산] 두 정수 입력받아 큰 수 출력하기

코드업 기초 100제 063

3항 연산자: "조건식 ? (참일 때의 값) : (거짓일 때의 값)"의 형태로 사용하는 연산자이다. if 조건문을 짧게 표현할 수 있는 장점이 있다. 

문제 풀이: 삼항 연산자를 사용해서 a와 b 중 더 큰 수를 출력한다.

#include <stdio.h>

int main()
{
int a, b; //a와 b를 정수형으로 저장한다
scanf("%d %d", &a, &b); //a와 b값을 입력받는다 
printf("%d", a>b? a:b); // a가 b보다 크면 a를 출력하고 아니면 b를 출력한다 


return 0;


1064 [기초-삼항연산] 정수 3개 입력받아 가장 작은 수 출력하기   

코드업 기초 100제 064 1
코드업 기초 100제 064 2

문제 풀이: 삼항연산자를 중첩하여 사용한다. 삼항연산자를 중첩하는것은 조건문을 중첩하는 것 같이 쓰일 수 있다. 세 정수 중 가장 작은 정수를 찾으려면 a와 b를 먼저 비교해 더 작은 수를 c에 비교하면 된다. 

 

#include <stdio.h>

int main()
{
int a, b, c; //a, b 와 c를 정수형으로 저장한다 
scanf("%d %d %d", &a, &b, &c); //a, b 와 c 값을 입력받는다 
printf("%d", (a<b? a:b)<c?(a<b? a:b):c); //a와 b값중 작은 값이 c보다 작으면 a와 b 중 작은 값을 출력하고 아니면 c를 출력한다 

return 0;


1065 [기초-조건/선택실행구조] 정수 3개 입력받아 짝수만 출력하기 

코드업 기초 100제 065

문제 풀이: 조건문을 사용해서 세 정수 중 짝수만 출력한다. 짝수란 2로 나눴을때 나머지가 0인 수다. 이를 사용하여 조건문을 쓴다. 

#include <stdio.h>

int main()
{
int a, b, c; //a, b, c 를 정수형으로 저장한다 
scanf("%d %d %d", &a, &b, &c); //a, b, c값을 입력받는다 
if(a%2 == 0) //a를 2로 나눈 나머지가 0일시 아래 { }안 코드가 실행된다 
{
printf("%d\n", a); //a를 출력하고 줄바꿈을 한다 
}
if(b%2 == 0) //b를 2로 나눈 나머지가 0일시 아래 { }안 코드가 실행된다
{
printf("%d\n", b); //b를 출력하고 줄바꿈을 한다
}
if(c%2 == 0) //c를 2로 나눈 나머지가 0일시 아래 { }안 코드가 실행된다
{
printf("%d\n", c); //c를 출력하고 줄바꿈을 한다
}


return 0;


1066 [기초-조건/선택실행구조] 정수 3개 입력받아 짝/홀 출력하기 

코드업 기초 100제 066 1
코드업 기초 100제 066 2

문제 풀이: 조건문인 if와 else문을 둘다 사용하여 2로 나눈 나머지가 0일시 "even"을 출력하고 아니면 "odd"를 출력한다 

#include <stdio.h>

int main()
{
int a, b, c; //a, b, c를 정수형으로 저장한다 
scanf("%d %d %d", &a, &b, &c); //a, b, c 값을 입력받는다 

if(a%2 == 0) //a를 2로 나눈 나머지가 0일시 아래 { }안 코드가 실행된다 
{
printf("%s\n", "even"); //even을 출력하고 줄바꿈을 한다 
}
else //a를 2로 나눈 나머지가 0이 아닐시 아래 { }안 코드가 실행된다
{
printf("%s\n", "odd"); //odd를 출력하고 줄바꿈을 한다 
}

if(b%2 == 0) //b를 2로 나눈 나머지가 0일시 아래 { }안 코드가 실행된다
{
printf("%s\n", "even"); //even을 출력하고 줄바꿈을 한다 
}
else //b를 2로 나눈 나머지가 0이 아닐시 아래 { }안 코드가 실행된다 
{
printf("%s\n", "odd"); //odd를 출력하고 줄바꿈을 한다 
}

if(c%2 == 0) //c를 2로 나눈 나머지가 0일시 아래 { }안 코드가 실행된다
{
printf("%s\n", "even"); //even을 출력하고 줄바꿈을 한다 
}
else //c를 2로 나눈 나머지가 0이 아닐시 아래 { }안 코드가 실행된다 
{
printf("%s\n", "odd"); //odd를 출력하고 줄바꿈을 한다 
}


return 0;

 

*문제에서 나온것 처럼 코드블록의 내용이 1개라면 { }을 생략해도 된다 

#include <stdio.h>

int main()
{
    int a, b, c;
    scanf("%d%d%d", &a, &b, &c);

    if(a%2 == 0) 

    printf("even\n");
    else printf("odd\n");

    if(b%2 == 0)

    printf("even\n");
    else printf("odd\n");

    if(c%2 == 0)

    printf("even\n");
    else printf("odd\n");
   
    return 0;
}


1067 [기초-조건/선택실행구조] 정수 1개 입력받아 분석하기 

코드업 기초 100제 067 1
코드업 기초 100제 067 2
코드업 기초 100제 067 3
코드업 기초 100제 067 4

문제 풀이: 조건문을 사용하여 정수의 plus/minus와 even/odd를 구분하여 출력한다. 

#include <stdio.h>

int main()
{
    int a; //a를 정수형으로 저장한다 
    scanf("%d", &a); //a의 값을 입력받는다 
    
    if(a >= 1) //a가 1이랑 같거나 크면 (=1이 양수) 아래 코드를 실행한다 

    printf("plus\n"); //"plus"를 출력하고 줄바꿈을 한다 
    else //a가 1이랑 같거나 크지않으면 (=1이 음수) 아래 코드를 실행한다 

    printf("minus\n"); //"minus"를 출력하고 줄바꿈을 한다 
    
    if(a%2 == 0) //a를 2로 나눈 나머지가 0이면 아래 코드를 실행한다 

    printf("even\n"); //"even"을 출력하고 줄바꿈을 한다

    else //a를 2로 나눈 나머지가 0이 아니면 아래 코드를 실행한다 

    printf("odd\n"); //"odd"를 출력하고 줄바꿈을 한다 
   
    return 0;
}


1068 [기초-조건/선택실행구조] 정수 1개 입력받아 평가 출력하기 

코드업 기초 100제 068

문제 풀이: 조건문을 사용해서 점수를 입력받아 평가를 출력한다. 

#include 
int main()
{
    int a; //a를 정수값으로 저장합니다 
    scanf("%d", &a); //a값을 저장받습니다 

    if(a >= 90) //a가 90보다 크거나 같을 시 

    printf("A\n"); //A를 출력합니다
    else if(a >= 70) //a가 70보다 크거나 같을 시 (90보다는 작고)

    printf("B\n"); //B를 출력합니다
    else if(a >= 40) //a가 40보다 크거나 같을 시 (70보다는 작고) 

    printf("C\n"); //C를 출력합니다
    else //a가 40보다 낮으면 

    printf("D\n"); //D를 출력합니다 
   
    return 0;
}


1069 [기초-조건/선택실행구조] 평가 입력받아 다르게 출력하기 

코드업 기초 100제 069

switch문: switch문은 if문과 같이 조건 제어문에 속하나 부등식을 사용할 수 없다. if문은 조건식이 true일 경우에 블록이 실행되지만 switch문은 비교할 변수의 값에 따라 실행문이 선택된다. (==만 비교가능) 이 switch문 안에는 정수값만 가능하고 이 문제에서 입력받는 문자는 아스키코드 정수값으로 저장될 수 있기에 가능하다.

문제 풀이: 문자 A, B, C, D를 입력받아 정해진 문자열을 출력한다. 

#include <stdio.h>

int main()
{
char a; //a를 문자형으로 저장한다 
scanf("%c", &a); //a값을 입력받는다 
switch(a) //변수 a의 값에 따라 아래 코드블록이 실행된다
{
case'A': //a가 'A'일시 
printf("best!!!\n"); //best!!!를 출력합니다 
break; //switch문을 나갑니다 
case'B'://a가 'B'일시
printf("good!!\n"); //good!!을 출력합니다 
break; //switch문을 나갑니다 
case'C'://a가 'C'일시
printf("run!\n"); //run!을 출력합니다 
break; //switch문을 나갑니다 
case'D'://a가 'D'일시
printf("slowly~\n"); //slowly~를 출력합니다 
break; //switch문을 나갑니다 
default: //a가 A, B, C, D 가 아닐시 
printf("what?\n"); //what?을 출력합니다 
}



return 0;


1070 [기초-조건/선택실행구조] 월 입력받아 계절 출력하기 

코드업 기초 100제 070

문제 풀이: switch().. case ... break; 을 사용해서 월이 입력됬을때 계절을 출력한다. 

#include <stdio.h>

int main()
{
int a; //a값을 정수형으로 저장한다 
scanf("%d", &a); //a값을 입력받는다 
switch(a) //변수 a의 값에 따라 아래 코드블록이 실행된다
{
case 12: //a가 12일시 
case 1: //a가 1일시
case 2: //a가 2일시
printf("winter"); //winter를 출력한다 
   break; //switch문을 나갑니다 
case 3: //a가 3일시
case 4: //a가 4일시
case 5: //a가 5일시 
printf("spring"); //spring를 출력한다
break; //switch문을 나갑니다 
case 6: //a가 6일시
case 7: //a가 7일시
case 8: //a가 8일시 
printf("summer"); //summer를 출력한다
break; //switch문을 나갑니다 
case 9: //a가 9일시
case 10: //a가 10일시
case 11: //a가 11일시
printf("fall"); //fall를 출력한다
break; //switch문을 나갑니다 
}



return 0;