万年历的C语言程序已经编译运行确认过 。
#include stdio.h
#include stdlib.h
int leap(int); /*判断是否为闰年*/
int md(int m,int y); /*返回本月的天数*/
void prtweek(void); /*输出表头*/
int fw(int m,int y); /*返回本月一号是星期几*/
void prtmonth(int m); /*输出月份表头*/
int main(void)
{
int y,m,i,test,week;
printf("请输入您要查询的年份: ");
scanf("%d",y);
for (m=1; m=12; m++) {
test=1;
prtmonth(m);
prtweek();
week=fw(m,y);
if (week!=6)
for (i=0; i=week; i++) {
putchar('\t');
test++;
}
for (i=1; i=md(m,y); i++,test++) {
printf("%d\t",i);
if (test%7==0) {
putchar('\n');
}
}
putchar('\n');
system("pause");//暂停,以便观察输出
}
return 0;
}
int leap(int y)
{
return (y%4==0y%100||y%400==0)?1:0;
}
int md(int m,int y)
{
int d;
switch (m) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:d=31;break;
case 4:
case 6:
case 9:
case 11:d=30;break;
case 2:d=leap(y)?29:28;break;
}
return d;
}
void prtweek(void)
{
printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t\n","Sun","Mon","Tue","Wed","Thur","Fri","Sat");
}
int fw(int m,int y)
{
int f;
if (m3) {
m+=12;
y--;
}
f=(1+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
return f;
}
void prtmonth(int m)
{
switch (m) {
default:
case 1:puts("===January===");break;
case 2:puts("===February===");break;
case 3:puts("===March===");break;
case 4:puts("===April===");break;
case 5:puts("===May===");break;
case 6:puts("===June===");break;
case 7:puts("===July===");break;
case 8:puts("===August===");break;
case 9:puts("===September===");break;
case 10:puts("===October===");break;
case 11:puts("===November===");break;
case 12:puts("===December===");break;
}
}
用C语言怎么编写万年历1、首先下载安装Notepad++,这是一款免费的且能够编辑C语言的软件 。
2、然后下载安装tdm-gcc,这是为了给电脑配置环境变量,以便能够编译C语言的 。
3、在安装完以上两款软件后,还要配置一下环境变量 。
4、然后开始编辑C语言万年历,首先要判断一个年份是闰年还是平年 , 用一个子程序来做:
5、然后就开始写主程序:首先用scanf得到一个年份,在判断这个年份是平年还是闰年后用printf在CMD中打出来 。
6、在编写完成后,在Notepad++界面下按下F5,在输入框中输入:
cmd /k gcc -o "$(CURRENT_DIRECTORY)\$(NAME_PART).exe" "$(FULL_CURRENT_PATH)"CLS"$(CURRENT_DIRECTORY)\$(NAME_PART).exe"PAUSEEXIT
7、最后点击运行,会弹出CMD,在里面输入年份后回车:例如输入2017 , 然后回车,就会生成2017年的万年历了!
万年历C语言// 万年历.cpp : Defines the entry point for the console application.
// 显示1900年以后任何年份的日历,日历以月份顺序排列,每月以星期顺序排列 。
//采用一般日历计算方法,先给出一般年份的每月天数,如果是闰年,第二个月天数为29,再计算出制定年份的1月1日是星期几,然后根据这些数据
//计算出全年日历 , 边计算边显示 。
//函数leap()判定是否闰年
//函数week()计算year年份的1月1日是星期几 。计算方法是,已知1900年1月1日是星期一,先计算从1900年到year年份的前一年一共有多少(s)天,
//则(s+1)%7为年份year的1月1日的星期号 。
#include "stdafx.h"
#include iostream
推荐阅读
- a卡580配什么cpu好,amd580显卡配什么cpu
- 电商开业如何招人,做电商如何招人
- 游戏可以即时渲染,为什么游戏实时渲染能那么快
- 有网为什么手机还卡,手机有网就是卡
- linux命令小引号 linux文件名带引号
- 中控屏安卓手机怎么用的,中控屏安卓手机怎么用的啊
- 750显卡能玩的体育游戏,750显卡玩什么游戏
- php动态发送数据给页面 php可以开发动态网站
- sqlserver数据库的用户,sqlserver数据库用户名密码怎么查到