3월 24~25일

변재웅·2025년 3월 25일

24일날은 그동안 배웠던 부분에 대해서 보강하는 느낌으로 복습
전에 써놨던 TIL을 보며 복습하니 확실히 도움이 된다고 느꼈다
그래도 프로그래밍의 가장 기초적인 부분은 점점 익숙해지고 있다고 느껴져서 자신감이 살짝 생겼다 아직 많이 부족하겠지만....


홀수출력

1~100까지 홀수를 출력시키면 된다

for문을 사용해 홀수를 출력

int num;

for (num = 1; num < 100; num+=2)
{
    Console.WriteLine(num);
}

while문을 사용해 홀수를 출력

int num = 1;

while (num <= 100)
{
    Console.WriteLine(num);
    num += 2;
}

do-while문을 사용해 홀수를 출력

int num = 1;

do
{
    Console.WriteLine(num);
    num += 2;
}
while (num <= 100);

평균계산

sum : 150
Average : 30

조건 총 합이 150 이고 평균값이 30을 출력하는 스크립트를 짜면 된다.
그래서 10,20,30,40,50 숫자를 사용했다.

int[] numbers = { 10, 20, 30, 40, 50 };
int sum = 0;

for (int i = 0; i < 5; i++) 
{
   sum += numbers[i];
}

float average = (float)sum / numbers.Length;

Console.WriteLine($"sum : {sum}");
Console.WriteLine($"Average : {average}");

이부분에 대해서는 전에 했던 이름찾기 연습문제를 다시 보고와서 만들었다.
햇갈리는 부분도 있어서 인터넷에서 찾다가 좀더 편하게 총 합과 평균을 낼 수 있는 방법을 찾았다!
출처
바로 적용해보자

int[] numbers = { 10, 20, 30, 40, 50 };

int sum = numbers.Sum();
double average = numbers.Average();

Console.WriteLine($"sum : {sum}");
Console.WriteLine( $"Average : {average}" );

여기서 double 말고 float 를 사용하려고 하니깐 오류가 떠서 당황했는데 잘 읽어보니깐 c# 기본 실수 타입은 double 이라고 한다 그래서 float 로 변환해줘야 한다고 비쥬얼 스튜디오가 친절하게 알려준다

int[] numbers = { 10, 20, 30, 40, 50 };

int sum = numbers.Sum();
float average = (float)numbers.Average();

Console.WriteLine($"sum : {sum}");
Console.WriteLine( $"Average : {average}" );

이러면 끝


팩토리얼 계산

팩토리얼은 n! 로 표현되며 n! = n * (n-1) * (n-2) * ••• * 1 이라고 한다

Enter a number: 5
Factorial of 5 is 120

예상 출력을 이렇게 잡아줬다

힌트로는

Console.Write("Enter a number: ");
int number = int.Parse(Console.ReadLine());

사용하라고 하던데 콘솔창에 5라고 대입하면 출력 되게끔 만들라고 하는것 같다
솔직히 어디서부터 손 봐야할지 모르겠어서 인터넷 검색...

Console.Write("Enter a number: ");
int number = int.Parse(Console.ReadLine());

int i = 1;
int fact = 1;

while (i <= number)
{
    fact *= i;
    i++;
}

Console.WriteLine($"Factorial of {number!} is {fact}");

여기서 number는 직접 대입하는 숫자를 의미하고
i 와 fact 는 팩토리얼 계산을 위해 1로 잡아주고 (마지막에 곱하는 팩토리얼 숫자는 1인 양수가 되야하기 때문에)
while 동안 반복하라는 의미니깐
1부터 시작해서 ++(1부터 시작해서 점점 1씩 더하기) 5까지(number 에 5를 대입해야 하니깐) 다 곱해라(fact *= i) 라는 의미로 해석된다

원리는 이해가 되는것 같은데 나중에 다시 복습할때 머리 굴리면서 다른 반복문으로도 짜 봐야겠다


숫자 맞추기 게임

60을 맞춰야 되는 프로그램을 만들면 된다

예상출력으로 이렇게 나오면 된다

Enter your guess (1-100): 50
Too low! Try again.
Enter your guess (1-100): 75
Too high! Try again.
Enter your guess (1-100): 60
Congratulations! You guessed the number.

낮으면 ~ 나오고 높으면 ~ 나오게끔 반복시키다 맞추면 끝나는 걸로 하면 될것같고
그래서 전에 배웠던게 기억나서 do-while 사용하기로

bool isCorrect;

do
{
    Console.Write("Enter your guess (1-100): ");
    int number = int.Parse(Console.ReadLine());

    if (number > 60 && number <= 100)
    {
        Console.WriteLine("Too high! Try again.");
    }
    else if (number < 60 && number >= 1)
    {
        Console.WriteLine("Too low! Try again.");
    }
    else
    {
        Console.WriteLine("Congratulations! You guessed the number.");
    }

    isCorrect = number == 60;
}
while (!isCorrect);

아직은 이정도가 한계인듯 하다

조금만 응용하려고 하면 머리가 아파오는데 열심히 반복해야 되겠다는 생각이 마구마구 든다

0개의 댓글