본문 바로가기
IT(기존 자료 보관용)

뇌를 자극하는 C# 5.0 프로그래밍 5장 연습문제 1~4 답안

by 공학코드 2015. 4. 21.
728x90
반응형

프로그래밍 언어를 배울 때 흔히 나오는 연습문제이다.


1. 다음과 같은 결과를 출력하는 프로그램을 for문을 이용하여 작성하세요. 규칙은 첫 번째 줄에 별 하나, 두 번째 줄에 별 둘, 세 번째 줄에 별 셋 이런식으로 5개의 별이 찍힐 때 까지 반복합니다.


  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace practice5_1
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             for (int i = 1; i <= 5; i++)
  13.             {
  14.                 for (int j = 0; j < i; j++)
  15.                 {
  16.                     Console.Write("*");
  17.                 }
  18.                 Console.Write("\n");
  19.             }
  20.         }
  21.     }
  22. }
  23.  



처음에는 낯설것이다. 하나하나 잘 해석 해보는 것을 추천한다.


2. 다음과 같은 결과를 출력하는 프로그램을 for문을 이용하여 작성하세요.


  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace practice5_2
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             for (int i = 5; i >= 1; i--)
  13.             {
  14.                 for (int j = 0; j < i; j++)
  15.                 {
  16.                     Console.Write("*");
  17.                 }
  18.                 Console.Write("\n");
  19.             }
  20.         }
  21.     }
  22. }
  23.  



1번에서 순서만 반대로 바꾼 것이다.


3. 1번과 2번을 for문 대신 while 문과 do문으로 바꿔서 각각 작성하세요.


  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ConsoleApplication1
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             Console.Write("1\n");
  13.  
  14.             int i = 0, j = 0;
  15.             while (i<=5)
  16.             {
  17.                 j = 0;
  18.                 while (j<=i)
  19.                 {
  20.                     Console.Write("*");
  21.                     j++;
  22.                 }
  23.                 Console.Write("\n");
  24.                 i++;
  25.             }
  26.  
  27.             Console.Write("2\n");
  28.  
  29.             i = 5; j = 0;
  30.             while (>= 0)
  31.             {
  32.                 j = 0;
  33.                 while (<= i)
  34.                 {
  35.                     Console.Write("*");
  36.                     j++;
  37.                 }
  38.                 Console.Write("\n");
  39.                 i--;
  40.             }
  41.  
  42.             Console.Write("3\n");
  43.  
  44.             i = 0; j = 0;
  45.             do
  46.             {
  47.                 j = 0;
  48.                 while (<= i)
  49.                 {
  50.                     Console.Write("*");
  51.                     j++;
  52.                 }
  53.                 Console.Write("\n");
  54.                 i++;
  55.             }while (<= 5);
  56.  
  57.             Console.Write("4\n");
  58.  
  59.             i = 5; j = 0;
  60.             do
  61.             {
  62.                 j = 0;
  63.                 while (<= i)
  64.                 {
  65.                     Console.Write("*");
  66.                     j++;
  67.                 }
  68.                 Console.Write("\n");
  69.                 i--;
  70.             } while (>= 0);
  71.  
  72.  
  73.         }
  74.     }
  75. }
  76.  



이런 코드는 while 개념에 대해서 제대로 활용한 것인지는 모르겠다. 그냥 for문이지.


4. 다음과 같이 사용자로부터 입력받은 횟수만큼 별을 반복 출력하는 프로그램을 작성하세요. 단, 입력받은 수가 0보다 작거나 같은 경우 "0보다 같거나 작은 숫자는 사용할 수 없습니다."라는 메시지를 띄우고 프로그램을 종료합니다.


  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace practice5_4
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             int i = 0, j = 0, n = 0;
  13.  
  14.  
  15.  
  16.             while (true)
  17.             {
  18.                 Console.Write("반복 횟수를 입력하세요 : ");
  19.                 n = int.Parse(Console.ReadLine());
  20.  
  21.                 if (> 0)
  22.                 {
  23.                     for (= 0; i < n; i++)
  24.                     {
  25.                         for(= 0; j <= i; j++){
  26.                             Console.Write("*");
  27.                         }
  28.                         Console.Write("\n");
  29.                     }
  30.                     break;
  31.                 }
  32.                 else
  33.                 {
  34.                     Console.WriteLine("0보다 같거나 작은 숫자는 사용할 수 없습니다.");
  35.                 }
  36.             }
  37.         }
  38.     }
  39. }
  40.  



ReadLine 함수를 쓸 때는 데이터 형식을 바꿀 때 주의해야하지만 나는 책에 있는 연습문제이기 때문에 간단하게 작성했다.



728x90
반응형

댓글