今天给各位分享万年历查询程序c语言的知识,其中也会对万年历c++编程进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、求高手编写一个万年历的C语言程序2、万年历(C语言编程)3、C语言万年历查询系统4、c语言设计万年历
求高手编写一个万年历的C语言程序
#includestdio.h
#includestdlib.h
char* month_str[]={“January”,”February”,”March”,”April”,”May”,”June”,”July”,”August”,”September”,”October”,”November”,”December”};
char* week[]={“Sunday”,”Monday”,”Tuesday”,”Wednesday”,”Thursday”,”Friday”,”Saturday”};
int IsLeapYear(int year) /*find out the year is leap year or not*/
{
if((year%4==0year%100!=0)||(year%400==0))
return 1;
else
return 0;
}
int month_day(int year,int month)
{
int mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31};
if(IsLeapYear(year)month==2)
return 29;
else
return(mon_day[month-1]);
}
int DaySearch(int year,int month,int day) /*search what day this day is*/
{
int c=0;
float s;
int m;
for(m=1;mmonth;m++)
c=c+month_day(year,m);
c=c+day;
s=year-1+(float)(year-1)/4+(float)(year-1)/100+(float)(year-1)/400-40+c;
return ((int)s%7);
}
int PrintAllYear(int year)/*print the all year*/
{
int temp;
int i,j;
printf(“\n\n%d Calander\n”,year);
for(i=1;i=12;i++)
{
printf(“\n\n%s(%d)\n”,month_str[i-1],i);
printf(“0 1 2 3 4 5 6 \n”);
printf(“S M T W T F S \n\n”);
temp=DaySearch(year,i,1);
for(j=1;j=month_day(year,i)+temp;j++)
{
if(j-temp=0)
printf(” “);
else if(j-temp10)
printf(“%d “,j-temp);
else
printf(“%d “,j-temp);
if(j%7==0)
printf(“\n”);
}
}
return 0;
}
int main()
{
int option,da;
char ch;
int year,month,day;
printf(“Copyright @ 2005 TianQian All rights reserved!:):):)”);
printf(“\n\nWelcome to use the WanNianLi system!\n”);
while(1)
{
printf(“\nPlease select the service you need:\n”);
printf(“\n1 Search what day the day is”);
printf(“\n2 Search whether the year is leap year or not”);
printf(“\n3 Print the calander of the whole year”);
printf(“\n4 Exit\n”);
scanf(“%d”,option);
switch(option)
{
case 1:
while(1)
{
printf(“\nPlease input the year,month and day(XXXX,XX,XX):”);
scanf(“%d,%d,%d,%c”,year,month,day);
da=DaySearch(year,month,day);
printf(“\n%d-%d-%d is %s,do you want to continue?(Y/N)”,year,month,day,week[da]);
fflush(stdin);
scanf(“%c”,ch);
if(ch==’N’||ch==’n’)
break;
}
break;
case 2:
while(1)
{
printf(“\nPlease input the year which needs searched?(XXXX)”);
scanf(“%d”,year);
if(IsLeapYear(year))
printf(“\n%d is Leap year,do you want to continue?(Y/N)”,year);
else
printf(“\n%d is not Leap year,do you want to continue(Y/N)?”,year);
fflush(stdin);
scanf(“%c”,ch);
if(ch==’N’||ch==’n’)
break;
}
break;
case 3:
while(1)
{
printf(“\nPlease input the year which needs printed(XXXX)”);
scanf(“%d”,year);
PrintAllYear(year);
printf(“\nDo you want to continue to print(Y/N)?”);
fflush(stdin);
scanf(“%c”,ch);
if(ch==’N’||ch==’n’)
break;
}
break;
case 4:
fflush(stdin);
printf(“Are you sure?(Y/N)”);
scanf(“%c”,ch);
if(ch==’Y’||ch==’y’)
exit(0);
break;
default:
printf(“\nError:Sorry,there is no this service now!\n”);
break;
}
}
return 0;
}
万年历(C语言编程)
#includestdio.h
#includetime.h
int leap (int year)//判断闰年
{
if(year%4==0year%100!=0||year%400==0)
return 1;
else return 0;
}
int days_month (int month,int year)//判断月
{
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
return 31;
if(month==4||month==6||month==9||month==11)
return 30;
if(month==2leap(year)==1) return 29;
else return 28;
}
int firstday(int month,int year)//判断年
{
int w;
w=(1+2*month+3*(month+1)/5+year+year/4+year/400-year/100)%7+1;
return w;
}
main()
{
//调用系统时间
time_t tval;
struct tm *now;
tval = time(NULL);
now = localtime(tval);
printf(“现在时间: %4d年 %d月 %02d日 %d:%02d:%02d\n”, now-tm_year+1900, now-tm_mon+1, now-tm_mday,
now-tm_hour, now-tm_min, now-tm_sec);
//调用结束
int i,j=1,k=1,a,b,month,year;
b=days_month(now-tm_mon+1,now-tm_year+1900);
a=firstday (now-tm_mon+1,now-tm_year+1900);
printf(” Sun Mon Tue Wed Thu Fri Sat \n”);
if(a==7)
{
for(i=1;i=b;i++)
{
printf(“%4d”,i);
if(i%7==0)
{
printf(“\n”);
}
}
}
if(a!=7)
{
while (j=4*a)
{
printf(” “);
j++;
}
for(i=1;i=b;i++)
{
printf(“%4d”,i);
if(i==7*k-a)
{
printf(“\n”);
k++;
}
}
}
printf(“\n”);
}
C语言万年历查询系统
/* welcome to use the WanNianLi system! */
#includestdio.h
#includestdlib.h
char* month_str[]={“January”,”February”,”March”,”April”,”May”,”June”,”July”,”August”,”September”,”October”,”November”,”December”};
char* week[]={“Sunday”,”Monday”,”Tuesday”,”Wednesday”,”Thursday”,”Friday”,”Saturday”};
int IsLeapYear(int year) /*find out the year is leap year or not*/
{
if((year%4==0year%100!=0)||(year%400==0))
return 1;
else
return 0;
}
int month_day(int year,int month)
{
int mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31};
if(IsLeapYear(year)month==2)
return 29;
else
return(mon_day[month-1]);
}
int DaySearch(int year,int month,int day) /*search what day this day is*/
{
int c=0;
float s;
int m;
for(m=1;mmonth;m++)
c=c+month_day(year,m);
c=c+day;
s=year-1+(float)(year-1)/4+(float)(year-1)/100+(float)(year-1)/400-40+c;
return ((int)s%7);
}
int PrintAllYear(int year)/*print the all year*/
{
int temp;
int i,j;
printf(“\n\n%d Calander\n”,year);
for(i=1;i=12;i++)
{
printf(“\n\n%s(%d)\n”,month_str[i-1],i);
printf(“0 1 2 3 4 5 6 \n”);
printf(“S M T W T F S \n\n”);
temp=DaySearch(year,i,1);
for(j=1;j=month_day(year,i)+temp;j++)
{
if(j-temp=0)
printf(” “);
else if(j-temp10)
printf(“%d “,j-temp);
else
printf(“%d “,j-temp);
if(j%7==0)
printf(“\n”);
}
}
return 0;
}
int main()
{
int option,da;
char ch;
int year,month,day;
printf(“Copyright @ 2005 TianQian All rights reserved!:):):)”);
printf(“\n\nWelcome to use the WanNianLi system!\n”);
while(1)
{
printf(“\nPlease select the service you need:\n”);
printf(“\n1 Search what day the day is”);
printf(“\n2 Search whether the year is leap year or not”);
printf(“\n3 Print the calander of the whole year”);
printf(“\n4 Exit\n”);
scanf(“%d”,option);
switch(option)
{
case 1:
while(1)
{
printf(“\nPlease input the year,month and day(XXXX,XX,XX):”);
scanf(“%d,%d,%d,%c”,year,month,day);
da=DaySearch(year,month,day);
printf(“\n%d-%d-%d is %s,do you want to continue?(Y/N)”,year,month,day,week[da]);
fflush(stdin);
scanf(“%c”,ch);
if(ch==’N’||ch==’n’)
break;
}
break;
case 2:
while(1)
{
printf(“\nPlease input the year which needs searched?(XXXX)”);
scanf(“%d”,year);
if(IsLeapYear(year))
printf(“\n%d is Leap year,do you want to continue?(Y/N)”,year);
else
printf(“\n%d is not Leap year,do you want to continue(Y/N)?”,year);
fflush(stdin);
scanf(“%c”,ch);
if(ch==’N’||ch==’n’)
break;
}
break;
case 3:
while(1)
{
printf(“\nPlease input the year which needs printed(XXXX)”);
scanf(“%d”,year);
PrintAllYear(year);
printf(“\nDo you want to continue to print(Y/N)?”);
fflush(stdin);
scanf(“%c”,ch);
if(ch==’N’||ch==’n’)
break;
}
break;
case 4:
fflush(stdin);
printf(“Are you sure?(Y/N)”);
scanf(“%c”,ch);
if(ch==’Y’||ch==’y’)
exit(0);
break;
default:
printf(“\nError:Sorry,there is no this service now!\n”);
break;
}
}
return 0;
}
c语言设计万年历
/*不过除了没有查询某年某月某日是这一年的第几天。。和判断这一年的生肖外,都能满足你的要求。
加点金币帮你完善点!*/
#includestdio.h
int
Swiss(int
Years)
//判断是否是闰年
{
if(!(Years%100))
{
Years=Years/100;
}
if(Years%4)
{
return
0;
}
else
{
return
1;
}
}
int
Number(int
Yearsa,int
Yearsb)
//已知两个年份,求出两个年份之间闰年的个数
{
int
i=Yearsa+1;
int
mou=0;
do{
if(Swiss(i))
{
mou++;
}
i++;
}while(iYearsb);
return
mou;
}
int
Mvalue(int
Years,int
Month,int
Day)
//已知年月日,求出某年某月某日是星期几
{
int
M[12]={0,3,3,6,1,4,6,2,5,0,3,5};
//月值
int
N=6;
//年值初始化
int
a;
if(Years2006)
//求年值,年值以2006年为基数
{
N=6-((2006-Years)%7)-Number(Years,2006);
if(Swiss(Years))
{
if(Month3)
{
N–;
}
}
}
else
if(Years2006)
{
N=((Years-2006)%7)-1+Number(2006,Years);
if(Swiss(Years))
{
if(Month2)
{
N++;
}
}
}
a=(Day+M[Month-1]+N)%7;
//某年某月某日是星期几=(日值+月值+年值)%7
return
a;
}
int
Amonth(int
Month)
//已知月,求出这个月是大月还是小月
{
switch(Month)
{
case
1:
case
3:
case
5:
case
7:
case
8:
case
10:
//1,3,5,7,8,10,12是大月,没月31天
case
12:return
1;
case
4:
case
6:
case
9:
case
11:return
0;
//4,6,9,11是小月,每月30天
case
2:return
2;
//二月份
}
return
-1;
}
void
main
()
{
int
Dtable[7][7];
int
i,j;
int
Years=9999;
int
Month=12;
int
Day=1;
int
b;
for(i=0;i7;i++)
//初始化数组
{
Dtable[0][i]=i;
}
for(i=1;i7;i++)
{
for(j=0;j7;j++)
{
Dtable[i][j]=0;
}
}
i=Mvalue(Years,Month,Day);
switch(Amonth(Month))
{
case
0:b=30;break;
case
1:b=31;break;
case
2:if(Swiss(Years))b=29;else
b=28;break;
//闰年2月29天,平年二月28天
default:b=-1;break;
}
for(;i7;i++)
{
Dtable[1][i]=Day++;
}
for(i=2;i7;i++)
{
for(j=0;j7;j++)
//建造日历表
{
if(Day=b)
{
Dtable[i][j]=Day++;
}
else
{
continue;
}
}
}
printf(“%d:%d\n”,Years,Month);
for(i=0;i7;i++)
//输出日历表
{
for(j=0;j7;j++)
{
printf(“%3d”,Dtable[i][j]);
}
printf(“\n”);
}
getch();
//完毕!
}
万年历查询程序c语言的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于万年历c++编程、万年历查询程序c语言的信息别忘了在本站进行查找喔。