[C언어 코드업 문제풀이] CodeUp 1046 : [기초-산술연산] 정수 3개 입력받아 합과 평균 출력하기

코드업 1046번 문제 정수 3개 입력받아 합과 평균 출력하기 문제 풀이 해답입니다.

1. 문제 설명

 

정수 3개를 입력받아 합과 평균을 출력해보자.
단, -2147483648 ~ +2147483647 

 

2. 입력

 

정수 3개가 공백을 두고 입력된다.
단, -2147483648 ~ +2147483647 

 

3. 출력

 

합과 평균을 줄을 바꿔 출력한다.
평균은 소수점 이하 둘째 자리에서 반올림해서 소수점 이하 첫째 자리까지 출력한다. 

 

4. 입력 예시

 

1 2 3

 

5. 출력 예시

 

6

2.0

 

6. 문제 풀이

 

#include <stdio.h>
 
 
int main (void)
{
    int num1, num2, num3, sum;
    float avr;
    
    scanf("%d %d %d"&num1, &num2, &num3);
    sum = num1 + num2 + num3;
    avr = (float)sum/3;
    
    printf("%d\n",sum);
    printf("%.01f",avr);
    
    return 0;
}

 

 평균을 구하는 문제입니다. 평균은 정수형 나눗셈이 아닌 실수형 나눗셈으로 수행하여야 합니다.

만약 정수형 나눗셈이라면 4 4 5의 평균은 13/3은 4.33333..이겠지만 4로 나오겠지요.

 

실수형은 캐스트 연산을 통해   avr = (float)sum/3;    

3가지 값을 받은 sum변수를 float형으로 변환후 나누어 줬습니다.

 

또한 문제의 조건으로 "평균은 소수점 이하 둘째 자리에서 반올림해서 소수점 이하 첫째 자리까지 출력"

이 있으므로 printf("%.01f",avr); 을 통해 소숫점 1째 자리 까지 출력해주었습니다.

 

캐스트 연산은 아래 글에서 자세히 알 수 있습니다.

https://by-man.tistory.com/88

 

[C언어] 데이터형 바꾸기 캐스트 연산자

이번 포스팅은 데이터형을 바꾸는 캐스트 연산자에 대해 소개하겠습니다. 문장과 수식은 보통 한 가지 데이터형의 변수와 사용해야 하지만 데이터형을 혼합하여 사용하여도 프로그램 자체가 죽지는 않습니다. 이..

by-man.tistory.com

 

감사합니다.

댓글()