Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 코딩
- 자바예제
- java
- 바텀네비게이션
- 스누핑
- 정처산기
- 정처기운영체제
- 안드로이드
- 파이썬배열예제
- 정보처리산업기사
- 데이터베이스
- 정처기
- 자바
- 파이썬리스트
- 업다운게임코드
- 파이썬
- 자바연산자
- 파이썬공부
- 안드로이드스튜디오
- 엑티비티
- 운영체제종류
- 파이썬예제
- bottomnavigation
- 파이썬배열
- 백준
- androidstudio
- 운영체제목적
- int크기
- 컴퓨터일반
- 코딩공부
Archives
- Today
- Total
발전을 위한 기록
[C언어] C언어로 달력 출력하기 본문
728x90
C언어로 간단한 달력을 출력할 수 있습니다.
설명을 주석을 참고해주세요!
#include <stdio.h>
// 함수 선언
void displayCalendar(int year, int month);
int main() {
// 사용자로부터 연도와 월을 입력받음
int year, month;
printf("연도 입력: ");
scanf("%d", &year);
printf("월 입력: ");
scanf("%d", &month);
// 달력 출력 함수 호출
displayCalendar(year, month);
return 0;
}
// 해당 월의 일수를 반환하는 함수
int getDaysInMonth(int year, int month) {
int daysInMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 윤년인 경우 2월의 일수를 29로 수정
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
daysInMonth[2] = 29;
return daysInMonth[month];
}
// 달력 출력 함수 정의
void displayCalendar(int year, int month) {
// 해당 년월의 첫 날의 요일을 계산
int startingDay = (year * 365 + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400) % 7;
// 달력 출력
printf("\n %d년 %d월\n", year, month);
printf("일 월 화 수 목 금 토\n");
// 첫 날까지의 공백 출력
for (int i = 0; i < startingDay; ++i)
printf(" ");
// 해당 월의 달력 출력
for (int day = 1; day <= getDaysInMonth(year, month); ++day) {
printf("%2d", day);
// 토요일이면 줄 바꿈
if ((startingDay + day) % 7 == 0)
printf("\n");
else
printf(" ");
}
printf("\n");
}
출력결과
728x90
'프로그래밍 > C언어' 카테고리의 다른 글
[C언어] C언어 데이터 타입(종류, 크기, 범위) (0) | 2024.01.11 |
---|