⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch23-17.c

📁 C语言程序设计上机指导与练习 冶金工业出版社 刘怀亮
💻 C
字号:
#include<stdio.h> 
#include<conio.h> 
struct ymd 
{
   int year; 
   int month; 
   int day; 
}; 

/*if a year is a leap one*/ 
int yn_rn(int year) 
{ 
   if(year%4==0&&year%100!=0||year%400==0) 
      return 1; 
   else 
      return 0; 
} 

/*return which day in the year*/ 
int d_of_day(struct ymd dayof) 
{ 
   int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; 
   int i,d=0; 
   if(yn_rn(dayof.year)) 
      days[2]=29; 
   for(i=1;i<dayof.month;i++) 
      d=d+days[i]; 
   return(d+dayof.day);
} 

/*return the positive days if day1>day2,or negative days if day1<day2*/ 
int day_diff(struct ymd day1,struct ymd day2) 
{ 
   int d1,d2,i,diff=0; 
   d1=d_of_day(day1); 
   d2=d_of_day(day2); 
   if(day1.year>day2.year) 
   { 
      for(i=day2.year;i<day1.year;i++) 
         if(yn_rn(i)) 
            diff=diff+366; 
         else 
            diff=diff+365; 
   } 
   else 
   { 
      for(i=day1.year;i<day2.year;i++) 
         if(yn_rn(i)) 
            diff=diff-366; 
         else 
            diff=diff-365; 
   } 
   return diff+d1-d2; 
} 

void main() 
{ 
   struct ymd oldday,day; 
   int oldweek,week,diff; 
   char *rq[7]={"Sun","Mon","Tue","Wen","Thu","Fri","Sat"}; 
   /*2003-4-3: Thursday*/ 
   oldday.year=2003; 
   oldday.month=4; 
   oldday.day=3; 
   oldweek=4; 
   printf("\nPlease input day(YYYY-MM-DD):"); 
   scanf("%d-%d-%d",&day.year,&day.month,&day.day); 
   diff=day_diff(day,oldday); 
   week=(diff%7+oldweek)%7; 
   printf("\n%d*%d-%d: %s\n",day.year,day.month,day.day,rq[week]); 
   getch(); 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -