오늘 한 것 - 강의제출 과제 외 일반과제 풀어보기
2주차 구구단 출력하기
static void Gugudan()
{
for (int i = 1; i < 10 ; i++)
{
for (int j = 1; j < 10 ; j++)
{
Console.WriteLine($"{i} × {j} = {i * j}");
}
}
}
바깥의 for 문으로 첫번째 수를 반복하고 안쪽에 감싸진 for문으로 두번째 숫자를 반복하여 곱셈 연산결과를 출력한다
별모양 삼각형 출력
static void Star()
{
for (int i = 1; i <= 5; i++) // 오른쪽으로 기울어진 직각삼각형
{
for (int j = 1; j <= i; j++)
Console.Write("*");
Console.WriteLine();
}
for (int i = 5; i >= 0; i--)
{
for (int j = 1; j <= i; j++)
Console.Write("*");
Console.WriteLine();
}
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= 5 - i; j++)
Console.Write(" ");
for (int j = 1; j <= 2 * i - 1; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
}
이중for문을 사용하여 삼각형의 높이와 해당 줄에 들어갈 *의 갯수를 결정하여 출력한다
피라미드는 * 앞에 공백 문자를 반복 삽입하여 만든다
별이 2개씩 추가되어야 하므로 for문 조건식에 2를 곱하고 맨 위에는 *이 하나만 있어야 하기 때문에 1을 빼준다
최대값, 최소값 찾기
static void MaxAndMin()
{
int max = 0;
int min = 0;
int inputNum = 0;
int inputCount = 5;
for (int i = 1; i <= inputCount; i++)
{
Console.Write($"숫자를 입력하세요: ");
inputNum = int.Parse(Console.ReadLine());
if (inputNum > max)
{
int temp = max; // temp 변수를 사용하여 값 교환
max = inputNum;
inputNum = temp;
}
if (inputNum < min)
{
min = inputNum;
}
}
Console.Write($"최대값: {max}\n최소값: {min}");
}
if(max == 0 && min == 0) max = min = inputNum;
최대값과 최소값, 현재 입력받은 값과 몇번 입력받을지 저장할 변수 선언
inputCount 만큼 값의 입력과 입력값의 대소 비교를 반복 진행
max와 min의 초기값이 0이어서 숫자가 모두 1 이상이거나 모두 음수면 사용자가 입력하지 않은 0이 출력되는 문제가 있어 처음 입력값으로 max와min을 초기화
Console.Write 안에 $기호를 이용해서 출력과 동시에 입력을 받게 해보려고 했지만 입력을 먼저 받고 출력이 이루어지는 것을 확인함
지금은 쓸 수 없지만 나중에 활용할 수 있을 것 같다
소수 판별하기
static bool IsPrime(int num)
{
if (num < 1) return false;
else if (1 <= num && num <= 3) return true;
else if (num % 2 == 0 || num % 3 == 0) return false;
for (int i = 1; i <= num; i++)
{
if (num % i == 0) return false;
}
return true;
}
위의 조건문으로 입력받은 수가 음수면 거짓, 1에서3이면 참을 반환한다
또 2나 3으로 나누어 떨어지면 거짓을 반환한다
4 이상의 수는 밑으 for문으로 입력받은수만큼 i를 1씩 증가시켜 num / i를 진행한다
만약 나누어 떨어지는 수가 나오면 소수가 아니므로 거짓을 반환하고
계산 후 나누어 떨어지는 수가 없었다면 for문을 나와서 참을 반환한다
static void Main()
{
Console.Write("숫자를 입력하세요: "); // 사용자에게 숫자 입력 요청
int num = int.Parse(Console.ReadLine()); // 사용자가 입력한 값을 정수로 변환하여 저장
if (IsPrime(num)) // 입력 받은 숫자가 소수라면
{
Console.WriteLine(num + "은 소수입니다."); // 소수임을 출력
}
else // 소수가 아니라면
{
Console.WriteLine(num + "은 소수가 아닙니다."); // 소수가 아님을 출력
}
}
'내일배움캠프_TIL' 카테고리의 다른 글
8월 23일 TIL (0) | 2023.08.23 |
---|---|
8월 21일 TIL (0) | 2023.08.22 |
8월17일 TIL (0) | 2023.08.17 |
8월 16일 TIL (0) | 2023.08.16 |
8월 14일 TIL (0) | 2023.08.14 |