本文目录一览

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语言  万年历代码  
下一篇