c语言万年历查询程序代码,c语言万年历(源代码)

/**

*c语言万年历,dev c++运行通过

*参数输入格式eg:

*显示这一天是星期几:2013/01/01  2013.01.01

*显示这个月的整个日历:2013.01.  2013/01/

*控制台下运行

*/ #include #include #include int main(int x,char* date[]) { void wrong();//参数错误处理函数  void line();//输出横线格式函数  int week,t=0,k,i,year,month,day=0,flag1,flag2; /** *week:计算给定的时间是星期几  *t:计算与标定时间(公元1年1月1日星期一)相差的星期差。平年差一天,闰年差两天 *i是循环控制变量 *year,month,day分别是输入时间的年月日 *flag1记录有无精确日期输入,有day,输出这一天是星期几,没day输出这一整月  *flag2分别是判断平年闰年的记录  */  int common_day_of_the_month[12]={31,28,31,30,31,30,31,31,30,31,30,31};//平年年份每月天数  int leap_day_of_the_month[12]={31,29,31,30,31,30,31,31,30,31,30,31};//闰年年份每月天数  char c[20];//储存输入日期的字符串  if(x==1){//输入参数错误,没有给日期,退出  wrong();  } strcpy(c,date[1]);//把输入的日期拷贝到c数组  if(c[0]!=0&&c[1]!=0&&c[2]!=0&&c[3]!=0&&c[4]!=0&&c[5]!=0&&c[6]!=0&&c[7]!=0){//数据安全性检查 for(i=0;i<4;i++){//检查年份  if(c[i]>='0'&&c[i]<='9'); else wrong(); } for(i=5;i<7;i++){//检查月份  if(c[i]>='0'&&c[i]<='9'); else wrong(); } flag1=0; } if(c[8]!=0&&c[9]!=0&&c[10]=='\0'){ for(i=9;i<10;i++){//检查日期day  if(c[i]>='0'&&c[i]<='9'); else wrong(); } flag1=1; } year=(c[0]-'0')*1000+(c[1]-'0')*100+(c[2]-'0')*10+(c[3]-'0');//年月日的处理由char转换成int  month=(c[5]-'0')*10+(c[6]-'0'); if(flag1==1)day=(c[8]-'0')*10+(c[9]-'0');//如果有日就转换  if(flag1==0){//输出整月  line(); printf("\n一    二    三    四    五    六    日\n"); for(i=1;i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值