[복습] 261022 - C# 4챕터
복습-복습
Q3. 작은 이동량 보존
문제
시작 위치와 이동량을 한 줄씩 입력받음. 같은 두 입력을 float와 double로 각각 해석하고 위치를 한 번 이동시킴. 각 타입에서 이동 전후 위치의 차이를 구해 실제 반영된 이동량을 출력함. 시작 위치는 0100000000, 이동량은 010의 정수이며 입력 원문을 보관해 두 타입에서 사용함.
입력 예시
plain textCopy
100000000
1
using System;
string first = Console.ReadLine();
string movement = Console.ReadLine();
//
float firstFloat = float.Parse(first);
float moveFloat = float.Parse(movement);
double firstDouble = double.Parse(first);
double moveDouble = double.Parse(movement);
//
Console.WriteLine($"float 반영량:{(firstFloat + moveFloat) - firstFloat}");
Console.WriteLine($"double 반영량:{(firstDouble + moveDouble) - firstDouble}");

소요시간: 2분
AI 사용여부: X
복습
Q4. 할인 후 적립금
문제
상품 단가, 구매 수량, 할인율을 한 줄씩 입력받음. 주문 전체에 할인율을 적용하고, 할인 후 결제액의 2%를 적립함. 금액은 decimal로 계산하고 결제액·적립액은 소수점 둘째 자리까지 반올림함. 정확한 중간값은 0에서 먼 쪽으로 처리하며 적립 기준은 반올림한 결제액임. 단가는 0.011000, 수량은 1100의 정수, 할인율은 0~1이며 소수점은 점으로 입력함.
입력 예시
12.50
3
0.10
예상 결과
결제액: 33.75
적립액: 0.68
using System;
decimal price = decimal.Parse(Console.ReadLine());
int count = int.Parse(Console.ReadLine());
decimal discount = decimal.Parse(Console.ReadLine());
//
decimal pay = ((price * count) - ((price * count) * discount));
decimal collect = pay * 0.02m;
//
Console.WriteLine($"결제액: {(pay):F2}");
Console.WriteLine($"적립액: {(collect):F2}");

소요시간: 6분
AI사용: X


여기서 할인율과 적립률은 계산 방식은 같고, 어떤 금액을 기준으로 계산하는지만 다름
- 할인 금액: 할인 전 전체 가격 × 할인율
- 적립 금액: 할인 후 결제액 × 적립률
퍼센트를 소수로 바꾼 다음, 기준 금액에 곱한다.
할인은 그 금액을 빼고, 적립은 그 금액을 구하면 끝



