K-digital traning/C#프로그래밍

반복문 for

내꺼블로그 2023. 7. 20. 15:51
using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //1번 문제
            for(int i = 0; i < 5; i++)
            {
                Console.WriteLine("줄넘기를 했습니다.");
            }


            //2번 문제
            for (int i = 0; i < 4; i++)
            {
                Console.WriteLine("줄넘기를 {0}회 했습니다.", i+1);
            }


            //3번 문제
            {
            	int answer=0;
                for (int i = 0; i < 3; i++)
                {
                    Console.WriteLine("쌩쌩이를 했습니다.");
                    answer+=2;
                }
                Console.WriteLine("----------------------------");
                Console.WriteLine("줄넘기를 총 {0}회 했습니다.", answer);
            }


            //4번 문제
            for (int i = 0; i < 9; i++)
            {
            	int num=i+1;
                Console.WriteLine("2 X {0} = {1}", num, 2 * num);
            }
        }
    }
}

 

 

1번 결과

 

 

2번 결과

 

 

3번 결과

 

 

4번 결과

 

 

 


 

 

5번

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
           for(int i = 0; i < 5; i++)
            {
            	int num=i+1;
                if (num % 2 == 0) Console.WriteLine("{0} : 짝", num);
                else Console.WriteLine("{0} : 홀", num);
            }
        }
    }
}

 

결과

 

 

 

 

6번

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int sum = 0;
            for (int i = 0; i < 10; i++)
            {
            	int num=i+1;
                Console.WriteLine(num);
                sum += num;
            }
            Console.WriteLine("-------------");
            Console.WriteLine("sum : {0}", sum);
        }
    }
}

 

결과

 

 

 

7번

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.Write("구구단의 단수를 입력하세요 : ");
            int input=Convert.ToInt32(Console.ReadLine());
            for(int i = 0; i < 9; i++)
            {
            	int num=i+1;
                Console.WriteLine("{0} X {1} = {2}", input, num, input * num);
            }
        }
    }
}

 

결과

 

 

8번

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.Write("줄넘기 횟수를 입력하세요 : ");
            int input=Convert.ToInt32(Console.ReadLine());
            for(int i = 0; i < input; i++)
            {
                int cnt = i + 1;
                Console.WriteLine("줄넘기를 {0}회 했습니다.", cnt);
            }
        }
    }
}

 

 

9번

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.Write("영웅의 공격력: ");
            int heroDamage=Convert.ToInt32(Console.ReadLine());
            Console.Write("몇회 공격 하시겠습니까: ");
            int cnt=Convert.ToInt32(Console.ReadLine());

            for(int i=0; i<cnt; i++)
            {
                Console.WriteLine("몬스터를 공격({0}) 했습니다.", heroDamage);
            }
        }
    }
}

 

결과

 

 

 

10번

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            for(int i = 0; i < 6; i++)
            {
                Console.WriteLine(i+10001);
            }
        }
    }
}

 

결과

 

 

 

11번

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            for(int i = 1; i < 10; i+=2)
            {
                Console.WriteLine(i);
            }
        }
    }
}

or

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            for (int i = 0; i < 5; i++)
            {
                int num = 2 * (i + 1) - 1;
                Console.WriteLine(num);
            }
        }
    }
}

결과

 

 

 

12번

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.Write("문자를 입력하세요: ");
            char c = Convert.ToChar(Console.ReadLine());
            
            for(int i = c; i < c + 4; i++)
            {
                Console.WriteLine("{0}: {1}", (char)i, i);
            }
        }
    }
}

or

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.Write("문자를 입력하세요: ");
            char c = Convert.ToChar(Console.ReadLine());

            for (int i = 0; i < 4; i++)
            {
                int temp = (c + i) % 128;
                Console.WriteLine("{0}: {1}", (char)temp, temp);
            }
        }
    }
}

 

결과

 

 

 

13번

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            for(int i = 0; i < 10; i++)
            {
                Console.WriteLine(10-i);
            }
        }
    }
}

or

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            for(int i = 10; i > 0; i--)
            {
                Console.WriteLine(i);
            }
        }
    }
}

 

 

 

 

 

도전과제 1

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            float sum = 0f, max = 50f, min = 300f;
            for(int i = 0; i < 5; i++)
            {
                Console.Write("키를 입력하세요 (단위: cm) : ");
                float temp=Convert.ToSingle(Console.ReadLine());
                sum += temp;
                if(temp>max) max = temp;
                if(temp<min) min = temp;
            }
            float avg = sum / 5;
            Console.WriteLine("평균: {0}cm, 최대: {1}cm, 최소: {2}cm", avg, max, min);
        }
    }
}

 

결과

 

 

 

 

도전과제 2

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            for(int i = 0; i < 5; i++)
            {
                for (int j = 0; j <= i; j++)
                    Console.Write("*");
                Console.WriteLine();
            }
        }
    }
}

 

 

 

도전과제 3

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            for(int i = 1; i <= 5; i++)
            {
                for (int j = i; j < 5; j++)
                    Console.Write(" ");
                for(int k = 1;k<=i;k++) Console.Write("*");
                Console.WriteLine();
            }
        }
    }
}

or

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            for(int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5-i-1; j++)
                    Console.Write(" ");
                for(int k = 0;k<=i;k++) Console.Write("*");
                Console.WriteLine();
            }
        }
    }
}

결과

 

 

 

도전과제 4 (코드 개판 주의! 메소드 전혀 몰라요ㅠㅠ)

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.Write("플레이어 이름: ");
            string playerName = Console.ReadLine();
            Console.Write("공격력: ");
            int playerDamage=Convert.ToInt32(Console.ReadLine());
            Console.Write("체력: ");

            string inputPlayerHp = Console.ReadLine();
            string stringCurrentPlayerHp = "";
            string stringMaxPlayerHp = "";
            bool isCurrentPlayerHp = true;
            for(int i = 0; i < inputPlayerHp.Length; i++)
            {
                if (inputPlayerHp[i] == '/') { isCurrentPlayerHp = false; continue; }
                if (isCurrentPlayerHp)
                    stringCurrentPlayerHp += inputPlayerHp[i];
                else stringMaxPlayerHp += inputPlayerHp[i];
            }
            int playerHp=Convert.ToInt32(stringCurrentPlayerHp);
            int maxPlayerHp = Convert.ToInt32(stringMaxPlayerHp);

            Console.WriteLine();
            Console.Write("몬스터 이름: ");
            string monsterName = Console.ReadLine();
            Console.Write("공격력: ");
            int monsterDamage = Convert.ToInt32(Console.ReadLine());
            Console.Write("체력: ");
            string inputMonsterHp = Console.ReadLine();
            string stringCurrentMonsterHp = "";
            string stringMaxMonsterHp = "";
            bool isCurrentMonsterHp = true;
            for(int i=0;i < inputMonsterHp.Length; i++)
            {
                if (inputMonsterHp[i] == '/') { isCurrentMonsterHp = false; continue; }
                if(isCurrentMonsterHp) stringCurrentMonsterHp += inputMonsterHp[i];
                else stringMaxMonsterHp += inputMonsterHp[i];
            }
            int monsterHp=Convert.ToInt32(stringCurrentMonsterHp);
            int maxMonsterHp=Convert.ToInt32(stringMaxMonsterHp);

            Console.WriteLine();
            while(monsterHp > 0)
            {
                Console.WriteLine("{0}이 {1}를(을) 공격 했습니다.", playerName, monsterName);
                Console.WriteLine("{1}이 피해(-{1})를 받았습니다.", monsterName, playerDamage);
                monsterHp -= playerDamage;
                if (monsterHp > 0)
                {
                    Console.WriteLine("고블린의 체력은 {0}/{1}입니다.", monsterHp, maxMonsterHp);
                }
                else
                {
                    monsterHp = 0;
                    Console.WriteLine("고블린의 체력은 {0}/{1}입니다.", monsterHp, maxMonsterHp);
                    Console.WriteLine("고블린이 죽었습니다.");
                }
                Console.WriteLine() ;
            }
           

        }
    }
}

 

+) split 사용

using System;

namespace LearnDotnet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.Write("플레이어 이름: ");
            string playerName = Console.ReadLine();
            Console.Write("공격력: ");
            int playerDamage=Convert.ToInt32(Console.ReadLine());
            Console.Write("체력: ");

            string inputPlayerHp = Console.ReadLine();

            string[] playerHp=inputPlayerHp.Split('/');
            int currentPlayerHp = Convert.ToInt32(playerHp[0]);
            int maxPlayerHp = Convert.ToInt32(playerHp[1]);

            Console.WriteLine();
            Console.Write("몬스터 이름: ");
            string monsterName = Console.ReadLine();
            Console.Write("공격력: ");
            int monsterDamage = Convert.ToInt32(Console.ReadLine());
            Console.Write("체력: ");
            string inputMonsterHp = Console.ReadLine();
           

            string[] monsterHp = inputMonsterHp.Split('/');
            int currentMonsterHp = Convert.ToInt32(monsterHp[0]);
            int maxMonsterHp = Convert.ToInt32(monsterHp[1]);

            Console.WriteLine();
            while(currentMonsterHp > 0)
            {
                Console.WriteLine("{0}이 {1}를(을) 공격 했습니다.", playerName, monsterName);
                Console.WriteLine("{1}이 피해(-{1})를 받았습니다.", monsterName, playerDamage);
                currentMonsterHp -= playerDamage;
                if (currentMonsterHp > 0)
                {
                    Console.WriteLine("고블린의 체력은 {0}/{1}입니다.", currentMonsterHp, maxMonsterHp);
                }
                else
                {
                    currentMonsterHp = 0;
                    Console.WriteLine("고블린의 체력은 {0}/{1}입니다.", currentMonsterHp, maxMonsterHp);
                    Console.WriteLine("고블린이 죽었습니다.");
                }
                Console.WriteLine() ;
            }
           

        }
    }
}

 

 

결과

'K-digital traning > C#프로그래밍' 카테고리의 다른 글

1차원 배열 인벤토리  (0) 2023.07.24
스타크래프트 - 마린, 저글링, 메딕  (0) 2023.07.24
Input, enum 활용  (0) 2023.07.20
열거형(enum)  (0) 2023.07.20
2023/07/19 과제  (0) 2023.07.19