01. 변수와 자료형

SOOBIN·2021년 2월 2일

C프로그래밍

목록 보기
1/4

1. 형변환(casting)



1. 평균 구하기

  • 아래와 같이 점수가 주어졌을 때 평균을 구해서 출력하세요.
  • 평균은 소수 둘째자리 까지만 출력하세요.
    - 국어 : 93 수학 : 88 영어 : 94

❗ 주의사항
  정수에서 정수를 나누면 정수가 나온다.
  해결방법: 둘 중에 하나의 값을 형변환(casting)한다.

👉출력예시

국어 93점, 수학 88, 영어 94점
평균: 91.67

👉정답

#include<stdio.h>

int main() {
	int kor = 93;
	int math = 88;
	int eng = 94;
	double average = (float)(kor + math + eng) / 3.0;
    
	printf("국어 %d점, 수학 %d점, 영어 %d점\n", kor, math, eng);
	printf("평균 %.2lf점 입니다.\n", average);
    
    return 0;
 }

2. 화씨 구하기

  • 아래 공식을 이용해서 섭씨 30도의 화씨 온도를 출력하세요.
    - 화씨 온도 = 9/5 * 섭씨온도 + 32

👉출력예시

섭씨 30도는 화씨 86도 입니다.

👉정답

#include<stdio.h>

int main() {
	int c = 30;
    double f = 9 / (double) 5 * c + 32;
    //double f = 9.0 / 5 * c + 32; 로 해도 된다.
    
    printf("섭씨 %d도는 화씨 %lf도 입니다.", c, f);
    //printf("섭씨 %d도는 화씨 %g도 입니다.", c, f);
    //%g: 36.00000처럼 소수점 뒤가 필요없는 수일때 자동으로 짤라준다. 
    
    return 0;
 }


2. 입출력



1. 몫과 나머지

  • 두 수를 입력 받아서 몫과 나머지를 출력하세요.

👉입력예시

입력1 : 843
입력2 : 8

👉출력예시

국어 몫 : 105 나머지 : 3

👉정답

#include<stdio.h>

int main() {
	int number1 = 0;
    int number2 = 0;
    
    printf("입력1: ");
    scanf("%d", &number1);
    printf("입력2: ");
    scanf("%d", &number2);
    
    int q = number1 / number2;
    int r = number1 % number2;
    
    printf("몫: %d 나머지: %d", q, r);
    
    return 0;
 }

2. 교체

  • 수 두개를 x, y 에 입력 받아서 바꿔서 출력하세요.

👉입력예시

x : 6
y : 4

👉출력예시

x는 4이고, y는 6 입니다.

👉정답

#include<stdio.h>

int main() {
	int x = 0;
    int y = 0;
    printf("x: ");
    scanf("%d", &x);
    printf("y: ");
    scanf("%d", &y);
    
    //swap 알고리즘
    int temp = x;
    x = y;
    y = temp;
    
    printf("x는 %d이고, y는 %d 입니다.", x, y);
    
    return 0;
 }

3. 초 변환

  • 초를 입력 받아서 ?분?초 형태로 출력 하세요.

👉입력예시

초 : 456

👉출력예시

7분 36초

👉정답

#include<stdio.h>

int main() {

    int seconds = 0;
    printf("초: ");
    scanf("%d", &seconds);
    
    int m = seconds / 60;
    int s = seconds % 60;
    printf("%d분 %d초", m, s);
    
    return 0;
 }

4. 자리수 쪼개기

  • 네 자리수 숫자를 입력 받아서 천의 자리부터 한줄씩 출력 하세요.

👉입력예시

입력 : 1234

👉출력예시

1
2
3
4

👉정답

#include<stdio.h>

int main() {

   int num = 0;
   printf("입력: ");
   scanf("%d", &num);
   
   int q = num / 1000;
   int r = num % 1000;
   printf("%d\n", q);
   
   q = r / 100;
   r = r % 100;
   printf("%d\n", q);
   
   q = r / 10;
   r = r % 10;
   printf("%d\n", q);
   
   printf("%d\n", r);
 }

0개의 댓글