永发信息网

求C语言编日历源代码的详细说明

答案:1  悬赏:10  手机版
解决时间 2021-10-14 11:14
求C语言编日历源代码的详细说明
最佳答案
#include <stdio.h> #include<conio.h> #include<stdlib.h> int IsLeapYear(int); //函数定义void main() { int i; int day; int year; int temp; int temp_i; long int Year_days = 0; int Year_Start = 1; int Per_Year_Days; int month_day[]={31,28,31,30,31,30,31,31,30,31,30,31,29}; printf("Please enter the year: "); scanf("%d",&year); //输入年份while(Year_Start < year) //从公元1年开始执行while循环, 该年的一月一号为星期一{ if( IsLeapYear( Year_Start ) ) Per_Year_Days = 366; //如果是闰年, 则一年有366天else Per_Year_Days = 365; //如果不是闰年, 则一年有365天Year_days = Year_days + Per_Year_Days; //Year_days为从公元1年到输入年份的前一年的天数的总和Year_Start++; } for( temp = 1; temp <=12; temp++ ) //temp从1到12, 对应一年内12个月{ switch( temp ) //用switch语句将temp和12个月对应起来{ case 1: printf(" January(%d)\n",year); //一月break; case 2: printf(" February(%d)\n",year); //二月break; case 3: printf(" March(%d)\n",year); //三月break; case 4: printf(" April(%d)\n",year); //四月break; case 5: printf(" May(%d)\n",year); //五月break; case 6: printf(" June(%d)\n",year); //六月break; case 7: printf(" July(%d)\n",year); //七月break; case 8: printf(" August(%d)\n",year); //八月break; case 9: printf(" September(%d)\n",year); //九月break; case 10: printf(" October(%d)\n",year); //十月break; case 11: printf(" November(%d)\n",year); //十一月break; case 12: printf(" December(%d)\n",year); //十二月break; } i = Year_days % 7; //每个星期有7天, 故用每年的天数对7取余printf("Mon\tTue\tWed\tThu\tFri\tSat\tSun\n"); if( i != 0 ) //如果余数不为零for( temp_i = 0; temp_i < i; temp_i++) printf("\t"); //则打印空格(这里用\t代替空格, 更加美观), 空格数为iday = 1; //初始化day为1, 为下面的while循环做准备if( IsLeapYear(year) && temp == 2) //如果输入的年份是闰年, 并且月份为2while( day <= month_day[12] ) //day为一循环变量, 取值为1-365(闰年的话为1-366){ if( day >1 ) //如果天数大于一if( Year_days % 7 == 0 ) //如果是星期日, 则换行printf("\n"); if( day >= 10 ) printf("%d\t",day); //打印天数+空格else printf("%d\t",day); Year_days++; day++; } else //如果不满足"输入的年份是闰年, 并且月份为2"while (day <= month_day[temp-1]) { if( day > 1 ) if( Year_days % 7 == 0 ) printf("\n"); if( day >=10 ) printf("%d\t",day); else printf("%d\t",day); Year_days++; day++; } printf("\n"); if( getch() == 'q' ) //如果输入为q, 则退出程序exit(0); } getch(); //每按一次键, 打印一个月份} int IsLeapYear( int year ) { //判断是否是闰年, 是则返回1, 否则返回0if ((year %4 == 0) && (year % 100 != 0) || (year % 400 == 0) ) return 1; else return 0; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
玻璃杯刷如何才能有效去除污渍?
问一下黄石二手房产出售信息都有哪些?能不能
东方郡二手房怎么样?值得买吗?
孕妇能吃三七吗??????
南宁有风玫瑰卖吗?
求助一下贝瑞特楼宇对讲的质量好吗?谁能说说
赵云的“常胜将军”称号是如何而来,维持了多
地毯那里有卖的有人知道吗?谁能说一下?
60岁公积金贷款买房能贷多少年?讲讲
宝宝什么时候开始买益智玩具、什么玩具益智好
我再淘宝买了部二手手机 选择货到付款的 请问
上海仁和会计有几个校区啊?
经常掉发会秃头吗,要怎么办好
pe下修改注册表会不会有效?
哪个熟悉房贷按揭需要什么?有没有网友晓得?
推荐资讯
川香辣酱烧黄辣丁
要退纸质车票,可以到到站站点去退吗?
最好的文胸品牌 妈妈们谁知道最好用的文胸是
12米长汽车大箱出租要多少钱?
宝宝拉屎很硬怎么办,家里的小宝宝每次都拉硬
怎么C盘搬家
简约完美华丽 多米音乐安卓版使用教程
颍上县解放路支局地址在哪,我要去那里办事
led灯管saa认证需要多少钱?有谁买过?
这张图纸施工图有吗?谁能说一下?
从丰台区西马厂西马金润家园到富丰桥时代天地
成都安置房可以买卖吗,有什么差别?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?