Přidat „du3/program.c“
This commit is contained in:
parent
ecaf600d0a
commit
1c011fddb7
52
du3/program.c
Normal file
52
du3/program.c
Normal file
@ -0,0 +1,52 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
int main()
|
||||
{
|
||||
|
||||
|
||||
char *str;
|
||||
str = (char*) malloc(12);
|
||||
scanf("%s",str);
|
||||
int day=0;
|
||||
int m=0;
|
||||
int y=0;
|
||||
if(str[1]=='.'){
|
||||
day+=str[0]-48;
|
||||
m+=(str[2]-48)*10+(str[3]-48);
|
||||
y+=(str[5]-48)*1000+(str[6]-48)*100+(str[7]-48)*10+str[8]-48;
|
||||
}
|
||||
else{
|
||||
day+=(str[0]-48)*10+(str[1]-48);
|
||||
m+=(str[3]-48)*10+(str[4]-48);
|
||||
y+=(str[6]-48)*1000+(str[7]-48)*100+(str[8]-48)*10+str[9]-48;
|
||||
}
|
||||
if( (day<0 || day>=31)||(m<0 || m>12)){
|
||||
return 0;
|
||||
}
|
||||
|
||||
day+=7;
|
||||
if(day>31 && m%2!=0){
|
||||
day-=31;
|
||||
m++;
|
||||
}
|
||||
else if(day>30 && m%2==0){
|
||||
if(m==2 &&(y%400==0 ||(y%100!=0 && y%4==0))){
|
||||
day-=29;
|
||||
}
|
||||
else{
|
||||
day-=31;
|
||||
}
|
||||
m++;
|
||||
}
|
||||
if(m>12){
|
||||
m-=12;
|
||||
y++;
|
||||
}
|
||||
|
||||
printf("%d.%d.%d",day,m,y);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user