[C & RUST] V-Code/연비 계산기
📌 난이도
⭐️⭐️
💡 문제
여러 번의 주행 기록이 주어집니다. 각 주행에서 이동한 거리(km)와 사용한 연료의 양(L)이 주어질 때, 전체 주행에 대한 평균 연비(km/L)를 계산하는 프로그램을 작성하세요.
입력
첫 번째 줄에 주행 횟수 N이 주어집니다.
다음 N개의 줄에는 각 주행에서 이동한 거리와 사용한 연료의 양이 실수로 주어집니다.
출력
전체 주행에 대한 평균 연비를 소수점 둘째 자리까지 출력하세요.
입력 예시
3
100 5
150 10
50 7.5
출력 예시
13.33
📝 풀이
전체 이동 거리의 합과 전체 사용 연료의 합을 구한 후, 평균 연비를 계산합니다.
📃 소스코드
// C
#include <stdio.h>
int main() {
int N;
double distance, fuel;
double total_distance = 0.0, total_fuel = 0.0, average_efficiency;
// Read the number of trips
scanf("%d", &N);
for (int i = 0; i < N; i++) {
// Read distance and fuel for each trip
scanf("%lf %lf", &distance, &fuel);
total_distance += distance;
total_fuel += fuel;
}
// Calculate average efficiency
average_efficiency = total_distance / total_fuel;
// Print the average efficiency up to two decimal places
printf("%.2lf\n", average_efficiency);
return 0;
}
설명
변수
- N: 여행의 횟수.
- distance, fuel: 각 여행의 입력값을 임시로 저장할 변수.
- total_distance, total_fuel: 총 주행 거리와 연료 소비량의 합.
- average_efficiency: 계산된 평균 연비.
단계
- 전체 여행 횟수 N을 읽습니다.
- N번 반복하면서 각 여행의 주행 거리와 연료량을 입력받습니다.
- 총 주행 거리와 총 연료량을 누적합니다.
- 총 주행 거리를 총 연료로 나누어 평균 연비를 계산합니다.
- 평균 연비를 소수점 두 자리까지 포맷하여 출력합니다.
// rust
use std::io::{self, BufRead};
fn main() {
// Create a handle to the standard input
let stdin = io::stdin();
let mut lines = stdin.lock().lines();
// Read the number of trips N
let n: usize = lines
.next()
.unwrap()
.unwrap()
.trim()
.parse()
.unwrap();
let mut total_distance = 0.0_f64;
let mut total_fuel = 0.0_f64;
// Read each trip's distance and fuel consumption
for _ in 0..n {
let line = lines.next().unwrap().unwrap();
let mut nums = line.split_whitespace().map(|s| s.parse::<f64>().unwrap());
let distance = nums.next().unwrap();
let fuel = nums.next().unwrap();
total_distance += distance;
total_fuel += fuel;
}
// Calculate the average efficiency
let average_efficiency = total_distance / total_fuel;
// Print the average efficiency up to two decimal places
println!("{:.2}", average_efficiency);
}
설명
Imports
std::io::{self, BufRead}: 콘솔에서 입력을 읽기 위해 사용됩니다.
변수 n: 여행의 횟수. total_distance, total_fuel: 총 주행 거리와 총 연료 소비량.
단계
- 표준 입력을 잠그고 입력된 줄들에 대한 반복자를 생성합니다.
- 첫 번째 줄을 읽어 여행 횟수 n을 가져옵니다.
- 각 여행의 주행 거리와 연료량을 읽기 위해 n번 반복합니다:
- 각 줄을 공백으로 나눕니다.
- 주행 거리와 연료량을 f64 타입으로 파싱합니다.
- 총 주행 거리와 연료량을 누적합니다.
- 평균 연비를 계산합니다.
- 결과를 소수점 두 자리까지 포맷하여 출력합니다.
댓글남기기