[복습] 261026 - C# 4챕터

강현구
∙∙조회 0

Q4. 할인 후 적립금

문제

상품 단가, 구매 수량, 할인율을 한 줄씩 입력받음. 주문 전체에 할인율을 적용하고, 할인 후 결제액의 2%를 적립함. 금액은 decimal로 계산하고 결제액·적립액은 소수점 둘째 자리까지 반올림함. 정확한 중간값은 0에서 먼 쪽으로 처리하며 적립 기준은 반올림한 결제액임. 단가는 0.011000, 수량은 1100의 정수, 할인율은 0~1이며 소수점은 점으로 입력함.

입력 예시

plain textCopy

plain text
12.50
3
0.10


예상 결과

 

makefile
결제액: 33.75
적립액: 0.68


ini
using System;

decimal price = decimal.Parse(Console.ReadLine());
int count = int.Parse(Console.ReadLine());
decimal disCount = decimal.Parse(Console.ReadLine());

//

decimal payment = (price * count) - ((price * count) * disCount);
decimal collect = payment * 0.02m;

Console.WriteLine($"결제액: {payment:F2}");
Console.WriteLine($"적립액: {collect:F2}");

 

시도 횟수: 1
AI 사용: X
소요시간: 3분 30초
종합평가: A

 


Q5. 주차 시간 정산

문제

주차한 분 수를 한 줄 입력받아 완전히 지난 시간 수, 과금 시간 수, 요금을 출력함. 시작한 한 시간마다 1500원을 부과하고 0분은 무료임. 입력은 0~1440v의 유한한 소수이며 소수점은 점으로 씀. 시간 수는 시간 단위의 정수 값으로 계산함.

입력 예시

plain textCopy

plain text
61


예상 결과

makefile
완전히 지난 시간: 1
과금 시간: 2
요금: 3000원


arduino
using System;

int minutes = int.Parse(Console.ReadLine());

int spendTime = minutes / 60;
int payTime = spendTime == 0 ? 0 : (minutes + 59)/60;


//

Console.WriteLine($"완전히 지난 시간: {spendTime}");
Console.WriteLine($"과금 시간: {payTime}");
Console.WriteLine($"요금: {payTime*1500}");

시도 횟수: 1
AI 사용: X
소요시간: 3분 30초
종합평가: A


Q6. 반올림 시점 비교

문제

첫째·둘째 작업의 보상액을 한 줄씩 입력받아 두 정산 방식을 비교함. A는 각 보상액을 정수로 반올림한 후 합산하고, B는 원래 보상액을 합산한 후 정수로 반올림함. 두 방식 모두 Math.Round의 기본 중간값 규칙을 사용하며 B에서 A를 뺀 차이를 출력함. 입력은 -1000~1000의 유한한 소수이고 decimal로 계산하며 소수점은 점으로 씀.

입력 예시

plain text
2.5
2.5


예상 결과

 

makefile
건별 정산: 4
합산 정산: 5
차이: 1


scss
using System;

decimal first = decimal.Parse(Console.ReadLine());
decimal second = decimal.Parse(Console.ReadLine());

//

//A는 각 보상액을 정수로 반올림한 후 합산하고
decimal firstA = Math.Round(first) + Math.Round(second);

//B는 원래 보상액을 합산한 후 정수로 반올림함
decimal firstB = Math.Round(first + second);

Console.WriteLine($"건별 정산: {firstA}");
Console.WriteLine($"합산 정산: {firstB}");
Console.WriteLine($"차이: {firstB - firstA}");

 

시도 횟수: 1
AI 사용: X (인터넷에 Math.Round 검색함)
소요시간: 6분 04초
종합평가: F

 

어제 풀었음에도 다시푸니 몰라서 새로운 문제를 풀지 못함 반드시 반성할것