K_blueprint
#9. 주어진 전자 회로에서 저항 값의 계산을 하는 프로그램을 만들어라 본문
728x90
반응형
< 문제 내용 >
● 전자 회로에서 저항 값의 계산은 다음의 두 가지 경우로 나누어서 계산된다.
위의 사진과 같이 저항들이 직렬로 연결되어 있을 경우의 저항 R = R1 + R2 + R3이 되고
위의 사진과 같이 저항들이 병렬로 연결이 되어 있을 경우에는 1/R = 1/R1 + 1/R2 + 1/R3이 된다.
그렇다면 아래와 같은 회로가 있을 때 다섯 개의 저항 값을 읽고 전체의 저항의 값을 구하는 프로그램을 작성하라.
(같은 저항 값이 두 번 사용된 곳도 있는 것에 주의하라.)
< 입력 조건 >
● 첫 줄에 다섯 개의 저항 값 R1, R2, R3, R4, R5가 정수로 주어진다.(단, 저항 값은 1 이상 1,000,000 이하의 정수이다.)
< 출력 조건 >
● 첫째 줄에 저항 값을 출력할 때 하나의 정수값이 나오도록 반올림하여 출력한다.
< 풀이 코드 >
#include <stdio.h>
#include <math.h> // 헤더 파일 추가
int main(void)
{
int R1, R2, R3, R4, R5; // 저항 값을 입력받을 정수형 변수 선언
int sum1, sum2, sum3, sum4, total; // 각 연산의 결과를 저장할 정수형 변수 선언
scanf("%d %d %d %d %d", &R1, &R2, &R3, &R4, &R5); // 입력문
// 부분별 연산
sum1 = R1+R2;
sum2 = (double)(1/sum1)+(1/R3); // 반올림을 하기 위해 실수형으로 강제 형변환
sum3 = sum2+R5;
sum4 = (1/R1)+(1/sum3);
total = R3+round(sum4)+R4; // round()를 사용하여 반올림 연산
printf("%d", total); // 출력문
return 0;
}
< 출력 결과 >
( 반올림을 위한 "round()" 함수 사용을 위해 <math.h>헤더 파일을 추가해주어야 한다! )
728x90
반응형
'C > 실습 문제 모음' 카테고리의 다른 글
#11. 정사면체의 한 변의 길이를 입력받고 부피, 겉넓이, 높이를 구하는 프로그램을 작성하라. (2) | 2024.01.09 |
---|---|
#10. 원의 반지름을 입력받고 그 원의 면적과 둘레의 길이를 구하는 프로그램을 작성하라. (0) | 2024.01.08 |
#8. 부피가 얼마인지 묻고 각각의 단위로 환산하라. (0) | 2023.12.24 |
#7. 물 분자의 개수를 출력하는 프로그램을 작성하라. (0) | 2023.12.22 |
#6. ASCII코드값을 입력받고 ASCII 코드값에 해당하는 문자를 출력하라 (0) | 2023.12.22 |