반도체, 임베디드 Study/C#

C# - 배열, 함수 (코드 작성 연습)

잇(IT) 2024. 4. 8. 15:45
728x90

배열 코드 작성 연습

 

array_score.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace array_score
{
    class Program
    {
        static int sum_score(int a, int b, int c)
        {
            int sum = 0;

            sum = a + b + c;

            return sum;
        }

        static int avg_score(int a, int b, int c)
        {
            int avg = 0;

            avg = Convert.ToInt32((a + b + c) / 3);

            return avg;
        }

        static void print_data(int[,] a)
        {
            for(int i = 0; i < a.GetLength(0); i++)
            {
                for(int j = 0; j < a.GetLength(1); j++)
                {
                    Console.Write($"{a[i, j]}\t");
                }
                Console.WriteLine();
            }
        }
        static void Main(string[] args)
        {
            Random rnd = new Random();
            int[,] arr = new int[5, 3];

            //2차원 배열 생성
            for(int i = 0; i < 5; i++)
            {
                for(int j=0; j<3; j++)
                {
                    arr[i, j] = rnd.Next(1, 101);
                }
            }

            //A, B, C 성적 입력
            int[] arrA = new int[5];
            int[] arrB = new int[5];
            int[] arrC = new int[5];

            for(int i = 0; i < 5; i++)
            {
                arrA[i] = arr[i,0];
            }
            for(int i = 0; i < 5; i++)
            {
                arrB[i] = arr[i, 1];
            }
            for(int i = 0; i < 5; i++)
            {
                arrC[i] = arr[i, 2];
            }


            print_data(arr);

            Console.WriteLine();


            for (int i = 0; i < 5; i++)
            {
                int sumdata;
                sumdata = sum_score(arrA[i], arrB[i], arrC[i]);
                Console.WriteLine($"{i+1}번째 A, B, C의 합은 {sumdata}");
                
            }

            Console.WriteLine();

            for(int i = 0; i < 5; i++)
            {
                int avg_data;
                avg_data = avg_score(arrA[i], arrB[i], arrC[i]);
                Console.WriteLine($"{i+1}번째 A, B, C의 평균은 {avg_data}");

            }

        }
    }
}


함수 코드 작성 연습

 

cal.func.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace cal_func
{
    class Program
    {
        static int sum(int a, int b)
        {
            int sum = a + b;
            Console.WriteLine($"{a}, {b}를 더한 값은 {sum}입니다.");
            return sum;
        }
        static double sum(double a, double b)
        {
            double sum = a + b;
            Console.WriteLine($"{a}, {b}를 더한 값은 {sum}입니다.");
            return sum;
        }

        static int min(int a, int b)
        {
            int min = a - b;
            Console.WriteLine($"{a}, {b}를 뺀 값은 {min}입니다.");

            return min;
        }

        static double min(double a, double b)
        {
            double min = a - b;
            Console.WriteLine($"{a}, {b}를 뺀 값은 {min}입니다.");

            return min;
        }

        static int mul(int a, int b)
        {
            int mul = a - b;
            Console.WriteLine($"{a}, {b}를 곱한 값은 {mul}입니다.");

            return mul;
        }

        static double mul(double a, double b)
        {
            double mul = a - b;
            Console.WriteLine($"{a}, {b}를 곱한 값은 {mul}입니다.");

            return mul;
        }

        static int div(int a, int b)
        {
            int div = a - b;
            Console.WriteLine($"{a}, {b}를 나눈 값은 {div}입니다.");

            return div;
        }

        static double div(double a, double b)
        {
            double div = a - b;
            Console.WriteLine($"{a}, {b}를 나눈 값은 {div}입니다.");

            return div;
        }

        static void Main(string[] args)
        {
            Console.WriteLine($"실수 계산 or 자연수 계산 입력을 고르시오\n1. 실수 2. 자연수");
            int sel = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine($"계산할 값을 입력하세요");
            Console.WriteLine($"ex) 3 + 5");
            if (sel == 2)
            {
                string str = Console.ReadLine();
                int[] arrNum = new int[2];
                char ch = ' ';
                string[] strArr = str.Split(' ');
                arrNum[0] = Convert.ToInt32(strArr[0]);
                ch = Convert.ToChar(strArr[1]);
                arrNum[1] = Convert.ToInt32(strArr[2]);

                switch (ch)
                {
                    case '+':
                        sum(arrNum[0], arrNum[1]);
                        break;
                    case '-':
                        min(arrNum[0], arrNum[1]);
                        break;
                    case '*':
                        mul(arrNum[0], arrNum[1]);
                        break;
                    case '/':
                        div(arrNum[0], arrNum[1]);
                        break;
                    default:
                        Console.WriteLine($"연산자 입력이 잘못되었습니다.");
                        break;
                }
            } else
            {
                string str = Console.ReadLine();
                double[] arrNum = new double[2];
                char ch = ' ';
                string[] strArr = str.Split(' ');
                arrNum[0] = Convert.ToDouble(strArr[0]);
                ch = Convert.ToChar(strArr[1]);
                arrNum[1] = Convert.ToDouble(strArr[2]);

                switch (ch)
                {
                    case '+':
                        sum(arrNum[0], arrNum[1]);
                        break;
                    case '-':
                        min(arrNum[0], arrNum[1]);
                        break;
                    case '*':
                        mul(arrNum[0], arrNum[1]);
                        break;
                    case '/':
                        div(arrNum[0], arrNum[1]);
                        break;
                    default:
                        Console.WriteLine($"연산자 입력이 잘못되었습니다.");
                        break;
                }
            }
        }
    }
}

728x90