在VC6.0的环境下的C程序
#include <stdio.h>/*标准I/O输入输出*/
#include<stdlib.h>
struct date{ /*定义日期结构体*/
int year;
int month;
int day;
};
int main()
{
struct date today;
int year1(int y); /*年份计算函数声明*/
int month1(int x); /*月份计算函数声明*/
int day1(int z); /*日期计算函数声明*/
int alldays,day;
system("color f0"); /*面板颜色*/
printf("请输入:年/月/日\n");
scanf("%d/%d/%d",&today.year,&today.month,&today.day); /*输入日期*/
alldays=year1(today.year)+month1(today.month)+day1(today.day); /*指定日期到2010年1月1日总天数*/
if(today.year<2010||today.month>12||today.month==2&&today.day>29||today.day>31||alldays<0) /*判断输入合法性*/
{
printf("请输入一个合法的日期,中间用“/”分隔。\n");
return 0;
}
day=alldays%5; /*求余数*/
if(day>0&&day<4) printf("这个人在%d/%d/%d这一天打鱼。\n",today.year,today.month,today.day); /*打印结果*/
else printf("这个人在%d/%d/%d这一天晒网。\n",today.year,today.month,today.day);
return 0;
}
int year1(int y)
{
int z,yeardays,pl,k=0;
z=y-2010;
for(y;y>2010;y--)
{
pl=y%4==0&&y%100!=0||y%400==0; /*判断闰年平年*/
if(pl==1) /*当pl为1为闰*/
k=k+1;
}
yeardays=z*365+k; /*计算年份中超过的天数*/
return (yeardays);
}
int month1(int x)
{
int c[13]={0,31,28,31,30,31,30,31,31,30,31,30,31},v,monthdays=0;
v=x-1;
for(v;v>=0;v--)
monthdays+=c[v]; /*计算月份中超过的天数*/
return (monthdays); /*函数返回*/
}
int day1(int z)
{
int s;
s=z-1;
return (s);
}
这是一个计算2010/1/1以后,指定一天判断是打鱼或结网的程序。