반응형
Notice
Recent Posts
Recent Comments
Link
코드 짜는 티모
두 날짜 사이 일(DAY)수 계산 본문
반응형
두 날짜를 입력받아 두 날짜 사이의 일수 계산
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #include <stdio.h> long totalday(int y, int m, int d); int main(void) { while(1){ int first; int fy, fm, fd, sy, sm, sd; long dates; scanf("%d",&first); if(first == 20000){ printf("Bye"); break; } fy = first/10000; fm = first%10000/100; fd = first%10000%100; scanf("%4d%2d%2d", &sy, &sm, &sd); if(fy*10000+fm*100+fd < sy*10000+sm*100+sd){ dates=totalday(sy, sm, sd) - totalday(fy, fm, fd); printf("%d.%02d.%02d~%d.%02d.%02d=%ld\n", fy, fm, (char)fd, sy, sm, sd, dates); } else{ dates=totalday(fy, fm, fd) - totalday(sy, sm, sd); printf("%d.%02d.%02d~%d.%02d.%02d=%ld\n", sy, sm, sd, fy, fm, fd, dates); } } } long totalday(int y, int m, int d) { int months[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int i; long total=0L; total=(y-1)*365L+(y-1)/4-(y-1)/100+(y-1)/400; if(!(y%4) && y%100 || !(y%400)) months[1]=29; for(i=0;i<m-1;i++) total += months[i]; total+=d; return total; } | cs |
간만에 해서 c언어 다 까먹었는데
scanf("%4d%2d%2d", &fy, &fm, &fd);
이렇게 입력받으면 굳이 입력받고 짜르지 않아도 됩니다~
여러개 스캔 가능 합니다~
반응형
'코드 예시 > C' 카테고리의 다른 글
입력받은 날짜의 다음날 요일 찾기 (0) | 2018.12.05 |
---|
Comments