Notice
Recent Posts
Recent Comments
Link
Hugh_휴 님의 블로그
C언어 코드 공부3(if문, switch문, 가위바위보) 본문
“Subtract.c” (이해 완료)
: 큰 수에서 작은 수를 빼는 프로그램

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int value1, value2;//정수 선언.
printf("두 숫자를 입력하시오 : ");//문자 입력.
scanf("%d %d", &value1, &value2);//value1과 value2에 정수 값을 받겠다는 말.
if(value1 < value2)//조건문. 숫자 2개 중 value 2가 1보다 큰 경우 아래와 같이 계산.
printf("%d - %d = %d입니다.\n", value2, value1, value2-value1);//위의 조건을 출력.
else if(value1 > value2)//조건문. 숫자 2개 중 value 1이 2보다 큰 경우 아래와 같이 계산.
printf("%d - %d = %d입니다.\n", value1, value2, value1-value2);//위의 조건을 출력.
else
printf("두 수는 같습니다.\n");//출력문.
return 0;//종료신호.
}
모든 조건이 잘 작동하는 것을 확인할 수 있다.



“leap_year.c” (이해 완료)
윤년이란?
- 윤년(Leap Year)은 지구가 태양을 한 바퀴 도는 데 걸리는 시간이 정확히 365일이 아니라 약 365.2422일이기 때문에 생기는 오차를 맞추기 위해 만든 제도.
윤년 규칙
- 예외 조건: 하지만 그중에서 100으로 나누어떨어지는 연도는 평년(윤년이 아님)이 된다.
- 예외의 예외 조건: 그런데 또 그중에서 400으로 나누어떨어지는 연도는 다시 윤년이 된다.
- 기본 조건: 연도가 4로 나누어떨어지면 일단 윤년 후보.
<첫 번째 윤년>


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int year; // 연도를 저장할 정수형 변수 선언
printf("년도를 입력해주세요 : ");
scanf("%d", &year);
// --- [1번 관문: 4의 배수 확인] ---
{
if(year % 4 == 0) // 1번 조건문. 연도를 4로 나눈 나머지가 0.
printf("넌 평범한 윤년이야\n"); // True
else if(year % 4 != 0) // 4로 나눈 나머지가 0이 아니다.
printf("넌 윤년이 될 자격이 없어\n"); // False
}
// --- [2번 관문: 100의 배수 확인] ---
{
if(year % 100 == 0) // 2번 조건문. 연도를 100으로 나눈 나머지가 0.
printf("넌 희귀한 윤년이야\n");// True
else if(year % 100 != 0) // 100으로 나눈 나머지가 0이 아니다.
printf("넌 고작 평범한 윤년이야\n");// False
}
// --- [3번 관문: 400의 배수 확인] ---
{
if(year % 400 == 0) // 3번 조건문. 연도를 400으로 나눈 나머지가 0.
printf("넌 아주 희귀한 윤년이야\n");// True
else if(year % 400 != 0) // 400으로 나눈 나머지가 0이 아니ek.
printf("넌 단지 희귀한 윤년이야\n");// False
}
return 0;//종료신호.
}
내 예상과는 다르게 결과값이 한번에 나오게 됐다.

꼭 윤년이어야 할 것 같다.

<두 번째 윤년>


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int year;
printf("년도를 입력해주세요 : ");
scanf("%d", &year);
if(year % 4 == 0) // [1번 관문이다]
{
// 4의 배수일 때만 이 안으로 들어옵니다.
if(year % 100 == 0) // [2번 관문이다]
{
if(year % 400 == 0) // [3번 관문이다]
{
printf("넌 아주 희귀한 윤년이야\n");
}
else // 400의 배수가 아닐 때 (3번의 짝꿍이다)
{
printf("넌 단지 희귀한 윤년이야\n");
}
} // 2번 관문(100의 배수) 확인 끝
else // 100의 배수가 아닐 때 (2번의 짝꿍이다)
{
printf("넌 고작 평범한 윤년이야\n");
}
} // 1번 관문(4의 배수) 확인 끝
else // 4의 배수조차 아닐 때 (1번의 짝꿍이다)
{
printf("넌 윤년이 될 자격이 없어\n");
}
return 0;
}
갑자기 윤년에 꽂혀서 시간 너무 많이 써버렸다.
결과값도 잘나온다. 착한 말과 나쁜 말을 1번씩만 내뱉게 됐다.


“calculator.c”(이해 완료)


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int value1;//계산할 숫자 값
int value2;//계산할 숫자 값. 더 많은 계산을 원한다면 int value를 더 만들면 된다.
char operator;//계산기호 값.
printf("연산할 수식을 입력하시오 : ");//문자 출력.
scanf("%d %c %d", &value1, &operator, &value2);//숫자 기호 숫자로 배열하여 계산식 넣으면 답 나오게 설정.
switch(operator)
{
case '+'://더하기
printf("%d + %d = %d\n", value1, value2, value1+value2);//숫자1, 숫자2, 숫자1+숫자2
break;//해당 없으면 다음으로 빠져나간다.
case '-'://빼기
printf("%d - %d = %d\n", value1, value2, value1-value2);//숫자1, 숫자2, 숫자1-숫자2
break;//해당 없으면 다음으로 빠져나간다.
case '*'://곱하기
printf("%d * %d = %d\n", value1, value2, value1*value2);//숫자1, 숫자2, 숫자1*숫자2
break;//해당 없으면 다음으로 빠져나간다.
case '/'://나누기
printf("%d / %d = %d\n", value1, value2, value1/value2);//숫자1, 숫자2, 숫자1/숫자2
break;//해당 없으면 다음으로 빠져나간다.
default://위의 모든 case가 해당 없는 경우.
printf("Error, 다시 입력해주세요.");//문자출력.
}
return 0;
}
어려울 줄 알았는데, 어제 한번 했다고 덜 어렵다. 결과도 모든 기호 다 잘 나온다.


“game.c”
<첫번째 가위바위보>
- : 계산기 형식 그대로 가져와서 조금 수정해서 만든 가위바위보
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int user1, user2;
printf("가위(0), 바위(1), 보(2) 숫자를 두 개 입력 (예: 1 0): ");
scanf("%d %d", &user1, &user2);
if (user1 == user2) {
printf("쌤쌤\n");
}
else if ((user1 == 0 && user2 == 2) || (user1 == 1 && user2 == 0) || (user1 == 2 && user2 == 1)) {
printf("왼쪽 승!\n");
}
else {
printf("오른쪽 승!\n");
}
return 0;
}
결과 값이 주르륵 나온다.

<두번째 가위바위보>
- : 첫번째 가위바위보 수정하려고 하니 너무 머리 아파서, 오늘 배운 if else if else문 사용해서 만들었다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int user1, user2;//왼쪽 오른쪽 손 설정
printf("가위(0), 바위(1), 보(2) 숫자를 두 개 입력 (예: 1 0): ");//사용자가 입력하기 편하게 설명문구 추가.
scanf("%d %d", &user1, &user2);//정수가 어디로 오는지 보여주는 것.
if (user1 == user2) {
printf("쌤쌤\n");//조건문. True. 같다면 쌤쌤.
}
else if ((user1 == 0 && user2 == 2) || (user1 == 1 && user2 == 0) || (user1 == 2 && user2 == 1)) {
printf("왼쪽 승!\n");//False. 왼쪽 숫자가 크면 왼쪽 승!
}
else {
printf("오른쪽 승!\n");//False. 오른쪽 숫자가 크면 오른쪽 승!
}
return 0;//종료신호.
}
나는 규범을 잘 따르는 사람이라 0, 1, 2값 이외의 값을 넣는 상황은 생각하지 못했다. 3은 넣지 말자.


"gugudan2.c"(이해 조금 됨.)


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int i, j, k; // i: 줄(묶음), j: 곱해지는 수(1~9), k: 단(2~9)
// [1단계] 3단씩 끊어서 출력하기 위해 큰 묶음을 3번 반복 (2~4단, 5~7단, 8~9단)
for (i = 2; i <= 8; i += 3)
{
// [2단계] 각 단의 곱해지는 숫자 (1부터 9까지)
for (j = 1; j <= 9; j++)
{
// [3단계] 가로로 3개의 단을 동시에 출력
for (k = i; k < i + 3; k++)
{
if (k <= 9) // 9단까지만 출력되도록 제한 (규범 체크!)
{
printf("%d * %d = %2d\t", k, j, k * j);
// \t는 탭(Tab) 키입니다. 옆으로 간격을 맞춰줘요.
}
}
printf("\n"); // 가로 3개가 끝나면 줄바꿈
}
printf("\n"); // 3단 묶음이 끝나면 한 줄 더 띄우기
}
return 0;
}
육망성(도와줘 제미나이)


#include <stdio.h>
int main(void)
{
int i, j;
int n = 12;
for (i = 0; i <= n; i++)
{
for (j = 0; j <= n * 2; j++)
{
int up_triangle = (j == n - i || j == n + i || (i == n * 2 / 3 && j > n - i && j < n + i));
int down_triangle = (j == i - n / 3 || j == (n * 7 / 3) - i || (i == n / 3 && j > i - n / 3 && j < (n * 7 / 3) - i));
if (up_triangle || down_triangle)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
return 0;
}
제미나이의 실패의 흔적들



'실습 연습' 카테고리의 다른 글
| 웹 프로그래밍 - 데이트 코스 만들기(Apache+PHP+MariaDB) (0) | 2026.04.15 |
|---|---|
| 파이썬 함수 연습(문제 포함)(난이도 0-3) (0) | 2026.04.09 |
| C언어 코드 공부2(while, do_while, star) (0) | 2026.04.03 |
| C언어 코드 공부1 (0) | 2026.04.02 |
| [실습] 우분투 인프라 구성 실습 Log 서버 구성 (0) | 2026.03.27 |