首页 > 起名 > 起名知识 > 起名问答 > 万年历代码,用c语言编制一个万年历

万年历代码,用c语言编制一个万年历

来源:整理 时间:2024-10-14 10:00:51 编辑:运气王 手机版

本文目录一览

1,用c语言编制一个万年历

#include#include 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==0&&year%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;m

用c语言编制一个万年历

2,求用C语言编写打印万年历的程序代码

#includeint monthDay(int,int); int IsLeapYear(int); main() { int days,weekDay,year,month=1,d,i; printf("please input the year:\n"); scanf("%d",&year); days=year-1+(year-1)/400+(year-1)/4-(year-1)/100; while(month<=12){ printf("\t\t\t%d-%d\n",year,month); printf("Sun\tMon\tTues\tWed\tThur\tFir\tSat\n"); d=1,i=1; weekDay=(days+1)%7; while(i<=weekDay) { printf("\t"); i++; } while(d<=monthDay(month,year)) { weekDay=(days+1)%7; if(weekDay==6) printf("%d\n",d); else printf("%d\t",d); if(d==monthDay(month,year)) printf("\n"); d++; days++; } month++; } system("PAUSE"); return 0; } int monthDay(int month, int year) { switch(month){ case 1:case 3:case 5:case 7:case 8:case 10:case 12: return 31; break; case 4: case 6:case 9:case 11: return 30; break; case 2: if((IsLeapYear(year))==1) return 29; else return 28; break; } } int IsLeapYear(int year) { if((year%4==0)&&(year%100!=0)) return 1; if(year%400==0) return 1; return 0; }

求用C语言编写打印万年历的程序代码

3,求万年历代码 一定要C的 最好全面点

一个万年历的C++实现代码 #include < iostream > #include < iomanip > using namespace std; int FistDayofYear( int y); int DaysofMonth( int m); void PrintMonth( int m); void PrintHead( int m); bool LeapYear( int y); int WeekDay,year; void main() { INPUT: cerr << " 请输入年份(>1): " ; cin >> year; WeekDay = FistDayofYear(year); cout << " \n\n " << year << " 年\n " ; cout << " ========================================================== " ; for ( int a = 1 ;a < 13 ;a ++ ) PrintMonth(a); cout << endl; int r = 0 ,u = 0 ; cout << " 继续打1,退出打0 : " ; cin >> r; if (r > u) goto INPUT; else goto END; END:; } void PrintMonth( int m) { PrintHead(m); int day = DaysofMonth(m); for ( int i = 1 ;i <= day;i ++ ) { cout << setw( 5 ) << i; WeekDay = (WeekDay + 1 ) % 7 ; if (WeekDay == 0 ) { cout << endl; cout << setw( 5 ) << " " ; } } } void PrintHead( int m) { cout << " \n\n " << setw( 5 ) << m; cout << " 月 日 一 二 三 四 五 六 \n " ; cout << setw( 5 ) << " " ; for ( int i = 0 ;i < WeekDay;i ++ ) cout << setw( 5 ) << " " ; } int DaysofMonth( int m) { switch (m) { case 1 : case 3 : case 5 : case 7 : case 8 : case 10 : case 12 : return 31 ; case 4 : case 6 : case 9 : case 11 : return 30 ; case 2 : if (LeapYear(year)) return 29 ; else return 28 ; } return 0 ; } bool LeapYear( int y) { return (y % 4 == 0 && y % 100 != 0 || y % 400 == 0 ); } int FistDayofYear( int y) { long m; m = y * 365 ; for ( int i = 1 ;i < y;i ++ ) m += LeapYear(i); return m %= 7 ; }

求万年历代码 一定要C的 最好全面点

4,c语言编写万年历

推荐你仔细看看网络上万年历的代码.基本上都是JSP的.与C相差无几.弄这个,关键是有耐心,把所有节气/节日定义好,并且是更好地定义实现.网上有这样的代码的.
#include <stdio.h>#define N 7void print(int day,int tian) int a[N][N],i,j,sum=1; for(i=0,j=0;j<7;j++) if(j<day) printf(" "); else a[i][j]=sum; printf("%3d ",sum++); } } printf("\n"); for(i=1;sum<=tian;i++) for(j=0;sum<=tian&&j<7;j++) a[i][j]=sum; printf("%3d ",sum++); } printf("\n"); }}int duo(int year) if(year%4==0&&year%100!=0||year%400==0) return 1; else return 0;}int rili(int year,int month) int day,tian,preday,strday; //printf("\n");printf("%d月 %d年\n",month,year); printf("Sun Mon Tue Wed Thu Fri Sat\n"); switch(month) case 1: tian=31; preday=0; break; case 2: tian=28; preday=31; break; case 3: tian=31; preday=59; break; case 4: tian=30; preday=90; break; case 5: tian=31; preday=120; break; case 6: tian=30; preday=151; break; case 7: tian=31; preday=181; break; case 8: tian=31; preday=212; break; case 9: tian=30; preday=243; break; case 10: tian=31; preday=273; break; case 11: tian=30; preday=304; break; default: tian=31; preday=334; } if(duo(year)&&month>2) preday++; if(duo(year)&&month==2) tian=29; day=((year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400+preday+1)%7; print(day,tian);}int main() int year,month,con=1; while(con) printf("请输入你想打印的年份:"); scanf("%d",&year); while(1) printf("请输入你想打印的月份:"); scanf("%d",&month); if(month>12||month<1) printf("请输入正确的月份!!"); else break; } rili(year,month); printf("是否继续 1或者0"); scanf("%d",&con); }getch();}

5,求c语言万年历程序

#include #include #include long year; int month,day,error_input; char s[100]; int monthdays[12]={31,28,31,30,31,30,31,31,30,31,30,31}; void inputdate(){ long n[3]={0,0,0},k=0,i,len; error_input=-1; printf("Please input the year[,month[,day]]:(Enter Q to quit)\n"); gets(s); len=strlen(s); printf("%d\n",strcmp(s,"Q")); if(strcmp(s,"Q")==0) {error_input=0;return;} if(!isdigit(s[0])||!isdigit(s[len-1])) {error_input=1;return;} for(i=0;iif(!isdigit(s[i])) {if(isdigit(s[i-1])) k++;if(k>2) {error_input=1;return;}} else n[k]=n[k]*10+s[i]-48; } year=n[0]; if(!(year%4)&&(year%100)||!(year%400)) monthdays[1]=29; else monthdays[1]=28; if(n[1]>12) {error_input=1;return;} if(n[2]>monthdays[n[1]-1]) {error_input=1;return;} month=n[1]; day=n[2]; } void printCala(){ int countyear,countday=0,weekflag,i,j,k,c; int startmon,endmon,year1; year1=year-1; countyear=(year1-year1%4)/4-(year1-year1%100)/100+(year1-year1%400)/400; weekflag=(countyear*366+(year-1-countyear)*365+1)%7-1; if(month==0) {startmon=1;endmon=12;} else {startmon=month;endmon=month;} for(k=1;k weekflag=(weekflag+monthdays[k-1])%7; for(k=startmon;k<=endmon;k++) { printf("\n %ld year ",year); switch(k) { case 1: printf("January\n");break; case 2: printf("February\n");break; case 3: printf("March\n");break; case 4: printf("April\n");break; case 5: printf("May\n");break; case 6: printf("June\n");break; case 7: printf("July\n");break; case 8: printf("August\n");break; case 9: printf("September\n");break; case 10: printf("October\n");break; case 11: printf("November\n");break; case 12: printf("December\n");break; } printf("___________________________\n"); printf("Sun Mon Tue Whe Thr Fri Sat\n"); if(weekflag!=0) for(countday=0,j=0;j {printf(" "); countday++;} for(i=1;i<=monthdays[k-1];i++) {if(countday>0&&countday%7==0) printf("\n"); printf("%3d ",i); countday++;} weekflag=(weekflag+monthdays[k-1])%7; printf("\n___________________________\n"); } } int main() { inputdate(); while(error_input!=0) { if(error_input==1) printf("Input ERROR! Please input again:\n"); else printCala(); inputdate(); } }

6,用C语言做一个万年历紧急啊求代码

# include <stdio.h># define N 2012int main() int month_(int x,int y);void p_(int x,int y,int z);int year,month,year_days,month_days,sum_days;for(;;) for(;;) scanf("%d",&year); if(year>=1990) break; }for(;;) scanf("%d",&month); if(month>0&&month<13) break; } year_days=year_(year); printf("year_days=%3d\n",year_days); month_days=month_(month,year); printf("month_days=%3d\n",month_days); if(year>=N) sum_days=year_days+month_days; else sum_days=year_days-month_days;p_(sum_days,month,year); } return 0;}int year_(int x)//判断期间有几个闰年并且求出期间天数 功能函数 有参 有返回值 int m,j=0,k=0,z=-1; if(x-i==0) z=0; else if(x-i>0) if(m%4==0||m%400==0) ++j; z=j*366+(x-i-j)*365; } else if(m%4==0||m%400==0) ++k; z=k*366+(i-x-k)*365; } return z;}int month_(int x,int y)//判断月份并计算天数 功能函数 有参 有返回值 switch(x) case 2 : z= 31; break; case 3 : z= 31+28; break; case 4 : z= 31+28+31; break; case 5 : z= 31+28+31+30; break; case 6 : z= 31+28+31+30+31; break; case 7 : z= 31+28+31+30+31+30; break; case 8 : z= 31+28+31+30+31+30+31; break; case 9 : z= 31+28+31+30+31+30+31+31; break; case 10 : z= 31+28+31+30+31+30+31+31+30; break; case 11 : z= 31+28+31+30+31+30+31+31+30+31; break; case 12 : z= 31+28+31+30+31+30+31+31+30+31+30; break; }if(x>2&&(y%4==0||y%400==0)) return z+1; else return z+0;}void p_(int x,int y,int z)//输出函数 if(z%4!=0||z%400!=0) if(y==1||y==3||y==5||y==7||y==8||y==10||y==12) monthdays=31; else if(y==2) monthdays=28; else monthdays=30;else if(y==1||y==3||y==5||y==7||y==8||y==10||y==12) monthdays=31; else if(y==2) monthdays=29; else monthdays=30;if(z>=N) j=x%7; else j=7-x%7; printf("%5s%5s%5s%5s%5s%5s%5s\n","日"," 一","二","三","四","五","六");//根据系统不一样 自己调节间距保持和日期对其 for(i=0;i<j;i++) printf("%5s"," "); for(i=1;i<=monthdays;i++) if((j+i)%7==0) printf("\n"); } printf("\n"); printf("\n");}

文章TAG:万年万年历代码c语言万年历代码

最近更新

  • 明星女,漂亮的女明星有哪些明星女,漂亮的女明星有哪些

    漂亮的女明星有哪些2,影视女星有哪些3,美女演员有哪些4,内地女明星排行榜5,中国的女明星排名前十位的分别是谁6,中国十美女明星都是谁1,漂亮的女明星有哪些娱乐圈漂亮的女明星有很多,如果长得.....

    起名问答 日期:2024-10-14

  • 丁姓取名,丁氏起名 谢谢丁姓取名,丁氏起名 谢谢

    丁氏起名谢谢2,姓丁男孩取什么名字好听3,帮丁姓小孩取名字4,姓丁的女孩取名字5,丁姓起名6,姓丁男孩起什么名好1,丁氏起名谢谢丁香》丁庆桐》丁语馨丁鞋匠丁当。2,姓丁男孩取什么名字好听丁怀.....

    起名问答 日期:2024-10-13

  • 菲的含义,菲的含义咋解释菲的含义,菲的含义咋解释

    菲的含义咋解释2,菲字什么意思3,大林寺桃花中的菲是什么意思4,菲是什么意思5,王宇菲这个名字是什么含义6,女儿名字叫意菲什么含义1,菲的含义咋解释草字头,无是非。2,菲字什么意思我八月五号生.....

    起名问答 日期:2024-10-13

  • 添狗是什么意思,狗见我受伤了添我的伤口是什么意思表示什么意思添狗是什么意思,狗见我受伤了添我的伤口是什么意思表示什么意思

    狗见我受伤了添我的伤口是什么意思表示什么意思2,添人不添狗的说法由来3,舔狗是什么意思4,舔狗之歌是什么意思5,男生说添狗是什么意思6,舔狗是什么意思1,狗见我受伤了添我的伤口是什么意思表.....

    起名问答 日期:2024-10-13

  • 1988年2月14号是什么命,1988年农历2月14日出生的一生命运怎么样1988年2月14号是什么命,1988年农历2月14日出生的一生命运怎么样

    本文目录一览1,1988年农历2月14日出生的一生命运怎么样2,八字算命1988年公历2月14日大概在下午十二点左右出生性别男3,请问1988年农历2月14凌晨两点左右生五行属什么4,算命农历1988年2月14.....

    起名问答 日期:2024-10-13

  • 童字取名寓意,今天童的名字的含义是什么可以做下解释吗童字取名寓意,今天童的名字的含义是什么可以做下解释吗

    今天童的名字的含义是什么可以做下解释吗2,乳名叫童童的含义是什么3,宝宝姓童取名什么好寓意是什么求高人指点4,简童的名字有什么含义5,思童名字含义是什么6,梁舒童名字的含义是什么1,今天童.....

    起名问答 日期:2024-10-12

  • 天兔座,泰拉瑞亚天兔座资料天兔座,泰拉瑞亚天兔座资料

    泰拉瑞亚天兔座资料2,泰拉瑞亚地域打天兔座3,泰拉瑞亚手机版天兔座怎么打还有很多装备怎么得到4,泰拉瑞亚手机版天兔座掉落物品攻击力5,天兔座又名什么星座6,认识星座辨别位置1,泰拉瑞亚天兔.....

    起名问答 日期:2024-10-12

  • 观音灵签13,观音灵签解签13 罗通拜帅本人男29岁未婚仰慕有一女子问观音灵签13,观音灵签解签13 罗通拜帅本人男29岁未婚仰慕有一女子问

    观音灵签解签13罗通拜帅本人男29岁未婚仰慕有一女子问2,观音灵签解签13位何意3,观音签二十三中签求解4,在观音庙抽的一个签求解已5,观音灵签13签求财什么意思6,我要去旅游问安全抽到观音灵.....

    起名问答 日期:2024-10-12

起名知识排行榜推荐