티스토리 뷰
나눗셈은 항상 딱 떨어지지만은 않기 때문에 종종 소수 대신 몫과 나머지를 다루는 프로그램을 작성해야 할 때도 있다. 피자를 정확하게 나누는 프로그램을 작성하라. 사람 수, 피자 개수,조각 개수를 입력 받는데, 이때 조각 개수는 짝수여야 한다. 일단 한 사람이 받게 되는 피자 조각 개수를 출력해보자. 만일 남는 조각이 있다면 그 개수도 나타내보자.
#출력 예 How many people? 8
How many pizzas do you have? 2
How many pieces are in a pizza? 8
8 people with 2 pizzas
Each person gets 2 pieces of pizza.
There are 0 leftover pieces.
#도전 과제
- 입력 값으로 숫자만 받을 수 있도록 프로그램을 수정해보자. 숫자가 입력될 때까지 진행되지 않도록 하라.
- 출력 내용을 변경하여 수일치가 되도록 하라.
예)
Each person gets 2 pieces of pizza
또는
Each person gets 1 piece of pizza
남은 피자 조각도 위와 같이 수일치를 하여 출력되도록 하라.
- 사람 수와 한 사람당 원하는 피자 조각 수를 입력 받은 다음, 피자를 몇 판 구매해야 하는지 계산하는 프로그램을 작성하라.
My code
static void Main(string[] args) { int people, pizza, pizzapiece; int quotient, remainder; // 출력 예대로 출력하도록 작성 및 입력 값 받기 Console.Write("How many people? "); people = IsInt(Console.ReadLine()); Console.Write("How many pizzas do you have? "); pizza = IsInt(Console.ReadLine()); Console.Write("How many pieces are in a pizza? "); pizzapiece = IsInt(Console.ReadLine()); Console.WriteLine("{0} people with {1} {2}", people, pizza, pizza > 1 ? "pizzas" : "a pizza"); // 삼항연산자를 이용해 수일치 quotient = (pizza * pizzapiece) / people; remainder = (pizza * pizzapiece) % people; Console.WriteLine("Each person gets {0} {1} of pizza.", quotient, quotient > 1 ? "pieces" : "piece"); // 피자 조각의 나머지가 발생할 때 if (remainder > 0) { Console.WriteLine("and {0} {1} left.", remainder, remainder > 1? "pieces" : "piece"); // 한 사람당 원하는 피자 조각 수를 입력 받은 다음, 피자를 몇 판 구매해야 하는지 계산 Console.Write("How many pieces of pizza do you want per person? "); int peoplepizzapiece = IsInt(Console.ReadLine()); pizza = (peoplepizzapiece * people) / pizzapiece; Console.WriteLine("You have to buy {0} {1}.", pizza, pizza > 1? "pizzas" : "pizza"); } Console.ReadLine(); } // 입력 값이 숫자인지 확인하여, 숫자가 아니면 다시 입력 값을 받도록 함. static int IsInt(string _s) { int _int; if (int.TryParse(_s, out _int)) return _int; else return IsInt(Console.ReadLine()); } | cs |
Result
- 피자 조각의 나머지가 없을 때(if문이 발생 안할 때 화면)
- 피자 조각의 나머지가 있을때(if문이 발생할 때 화면)
'Coding Training > C#' 카테고리의 다른 글
코딩트레이닝 C# 연습문제 10. 셀프계산대 (0) | 2018.07.24 |
---|---|
코딩트레이닝 C# 연습문제 09. 페인트 계산기 (0) | 2018.07.18 |
코딩트레이닝 C# 연습문제 07. 직사각형 방의 면적 (0) | 2018.07.12 |
코딩트레이닝 C# 연습문제 06. 퇴직 계산기 (0) | 2018.07.04 |
코딩트레이닝 C# 연습문제 05. 간단한 수학 (0) | 2018.06.26 |
댓글
글 보관함
최근에 올라온 글
최근에 달린 댓글