< = src="/AD/200611/20.js"> |
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
void runnian();
void showweek();
int menu_select();
struct ymd
{
int year;
int month;
int week;
int day;
};
struct ymd showymd;
void runnian()
{
int year,n=0;
printf(“请输入年份:\n”);
scanf(“%d”,&showymd.year);
for(year=1900;year<=showymd.year;year++)
if((year%4==0&&year%100!=0)||(year%400==0))
{
printf(“这些闰年为%d\n”,year);
n++;
}
printf(“共有%d个闰年\n”,n);
}
void showweek()
{
int y_day,total_day,p_year,leap,i,num=0;
printf(“请输入年:\n”);
scanf(“%d”,&showymd.year);
printf(“请输入月:\n”);
scanf(“%d”,&showymd.month);
printf(“请输入日:\n”);
scanf(“%d”,&showymd.day);
if((showymd.year%4==0&&showymd.year%100!=0)||(showymd.year%400==0))
leap=1;
else
leap=0;
if((showymd.month>=1&&showymd.month<=12)&&(leap==1))
switch(showymd.month)
{
case 1:y_day=showymd.day;
break;
case 2:y_day=31+showymd.day;
break;
case 3:y_day=60+showymd.day;
break;
case 4:y_day=91+showymd.day;
break;
case 5:y_day=121+showymd.day;
break;
case 6:y_day=152+showymd.day;
break;
case 7:y_day=182+showymd.day;
break;
case 8:y_day=213+showymd.day;
break;
case 9:y_day=244+showymd.day;
break;
case 10:y_day=274+showymd.day;
break;
case 11:y_day=305+showymd.day;
break;
case 12:y_day=335+showymd.day;
break;
default:break;
}
else
if(leap==0)
switch(showymd.month)
{
case 1:y_day=showymd.day;
break;
case 2:y_day=31+showymd.day;
break;
case 3:y_day=59+showymd.day;
break;
case 4:y_day=90+showymd.day;
break;
case 5:y_day=120+showymd.day;
break;
case 6:y_day=151+showymd.day;
break;
case 7:y_day=181+showymd.day;
break;
case 8:y_day=212+showymd.day;
break;
case 9:y_day=243+showymd.day;
break;
case 10:y_day=273+showymd.day;
break;
case 11:y_day=304+showymd.day;
break;
case 12:y_day=334+showymd.day;
break;
default:break;
}
for(p_year=1900;p_year<showymd.year;p_year++)
{
if((p_year%4==0&&p_year%100!=0)||(p_year%400==0))
num++;
}
total_day=(showymd.year-1900-num)*365+num*366+y_day;
i=total_day%7;
if(total_day<7)
showymd.week=(total_day+7)%7;
else
showymd.week=(total_day+7)%7;
if(showymd.week==0)
showymd.week=showymd.week+7;
printf(“离1900年共有%d天\n”,total_day);
printf(“%d年%d月%d号为星期%d\n”,showymd.year,showymd.month,showymd.day,showymd.week);
}
int menu_select()
{
int select;
printf(“*****************************\n”);
printf(“1.判断闰年:\n”);
printf(“2.判断星期:\n”);
printf(“3.退出\n”);
printf(“请你输入数字1~3:\n”);
scanf(“%d”,&select);
if(select<1||select>3)
printf(“输入的数字必须为1~3:\n”);
return select;
}
void main(void)
{
int select;
for(;;)
{
select=menu_select();
switch(select)
{
case 1:runnian();
break;
case 2:showweek();
break;
case 3:
exit(0);
break;
default:break;
}
}
}
>> 本文固定链接: http://www.vcgood.com/archives/1438