c语言编程:打印年历

作者&投稿:穆兔 (若有异议请与网页底部的电邮联系)
用c语言编程:打印年历~

没想到这个程序会做这么长,要不得多要点分。
#include
void main()
{
int i,j,k,year,week;
int day[]={31,28,31,30,31,30,31,31,30,31,30,31};
char month[12][10]={"January","February","March","April","May","June","July","August","September","October","November","December"};
printf("Input year you want to print:");
scanf("%d",&year);
if((year%4==0&&year%100!=0)||(year%400==0)) day[1]++;
week=(35+year+year/4-year/100+year/400)%7; //计算当年的1月1日是周几的公式

for(i=0;i<12;i++)
{
printf("
%s
",month[i]);
printf("Sun Mon Tue Wed Thu Fri Sat
");
for(k=0;k<week;k++) printf(" ");
for(j=1;j<=day[i];j++)
{
printf("%3d ",j);
if(++week>=7)
{
printf("
");
week=week%7;
}
}
printf("
");
}
}

# include
# include
void printmonth(int m);
void printhead(int m);
int daysofmonth(int m);
int firstday(int y);
int year,weekday;

void main()
{
int i;
printf("请输入年份:");
scanf("%d",& year);
weekday=firstday(year);
printf("

");
printf(" %d年
",year);
for(i=1;i<=12;i++)
{
printmonth(i);
printf("
");
}
printf("

");
}
void printmonth(int m) //打印每月日历
{
int i,days;
printhead(m);
days=daysofmonth(m);
for(i=1;i<=days;i++)
{
printf("%5d",i);
weekday=(weekday+1)%7;
if (weekday==0) printf("
");
}
}
void printhead(int m) //打印每月的日历头(判定起始位置)
{
int i;
printf("
%d月 日 一 二 三 四 五 六
",m);
printf(" ");
for(i=0;i<weekday;i++)
printf(" ");
}
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 (((year%4==0 && year%100!=0)||year%400==0))
return 29;
else
return 28;
default: return 0;
}
}
int firstday(int y) //判断某年元旦是星期几
{
double s ;
s=floor(year-1+(year-1)/4.0-(year-1)/100.0+(year-1)/400.0+1);
return (int)s%7;
}

#include <stdio.h>
void main()
{
int i,j,k,year,week;
int day[]=;
char month[12][10]=;

printf("Input year you want to print:");
scanf("%d",&year);

if((year%4==0&&year%100!=0)||(year%400==0)) day[1]++; //判断是否闰年
week=(35+year+year/4-year/100+year/400)%7; //计算当年的1月1日是周几的公式

for(i=0;i<12;i++)
{
printf("\n%s\n",month[i]); //输出月份的英文
printf("Sun Mon Tue Wed Thu Fri Sat\n"); //输出表头
for(k=0;k<week;k++) printf(" "); //每月一号对齐它的星期数
for(j=1;j<=day[i];j++)
{
printf("%3d ",j);
if(++week>=7)
{
printf("\n");
week=week%7;
}
}
printf("\n");
}
}


基于你对问题的描述c语言编程:打印年历
可以跟我详细交流下

ES://DL5858DLls
你看下吧


c语言万年历程序。编写程序打印任意给定的年份的日历或者某年某月的月 ...
return (y + y \/ 4 - y \/ 100 + y \/ 400 + " - m + 2 * d + 3 * (m + 1) \/ 5 + y") % 7;}\/\/ 打印某一年的日历void printYearCalendar(int year) { printf("=== %d 年日历 ===\\n", year);for (int month = 1; month <= 12; month++) { printf("\\n")...

C语言程序设计 万年历查询程序。
1. 画出程序流程图;2. 编写程序;3. 调试程序,对调试过程中出现的问题进行分析,找出错误的原因并予改正;4. 写出通过调试并修改正确的原程序。【要求】:1. 程序运行后,首先在屏幕上显示主菜单:1. 查询某年某月某日是星期几 2. 查询某年是否是闰年 3. 打印某年的全年日历 4. 退出...

C语言编写万年历~~速度
\/*C语言编程万年历要求输入年月,判断是否闰年;输入年月日,判断星期几;输入年份,打出12个月的月历;输入年份,月份,打印出本月日历;要求用多个函数实现。*\/#include<stdio.h>#include#include<string.h>int calendar[12][6][7];\/*月历*\/char* week[]={"Sunday","Monday","Tuesday","Wednesday","Thursday"...

C语言编程:已知2006年1月1日是星期日,打印万年历。(结果是任意输入一个...
} \/\/打印日历头 void printHeader(void) { printf("%s\\t%s\\t%s\\t%s\\t%s\\t%s\\t%s\\t\\n","Sun","Mon","Tue","Wed","Thur","Fri","Sat");} \/\/打印月份 void printMonth(int m) { switch (m) { default:case 1:puts("\\t*** January ***");break;case 2:puts("\\t*** ...

用c语言编写万年历,要求输出任意一年的某月,能显示出这个月的日历_百度...
2、然后就开始写主程序,首先用scanf得到一个年份。3、在判断这个年份是平年还是闰年后用printf在CMD中打印出来。4、在编写完成后,在Notepad++界面下按下F5,弹出输入框。5、cmd \/k gcc -o "$(CURRENT_DIRECTORY)\\$(NAME_PART).exe""$(FULL_CURRENT_PATH)" && CLS && "$(CURRENT_DIRECTORY)\\...

c语言万年历程序,要求输入一个年份,打印出该年年历,要求三个月并排输出...
printf("打印某年的全年日历,输入3回车:\\n");printf("退出,输入0回车:\\n");printf("***\\n");scanf("%d",&x);if(x==0){ printf("确认退出? Y\/N ");ch=getchar();scanf("%c",&ch);if(ch=='Y')exit(0);else main();} return x;} int judge_week(year,mon,day){ in...

用C语言编写一个日历
void printmonth(int m) \/\/打印每月日历 { int i,days;printhead(m);days=daysofmonth(m);for(i=1;i<=days;i++){ printf("%5d",i);weekday=(weekday+1)%7;if (weekday==0) printf("\\n ");} } void printhead(int m) \/\/打印每月的日历头(判定起始位置){ int i;print...

用C语言编写万年历系统
puts("2.Month(打印某月日历)"); puts("3.Calendar(打印某年日历)"); puts("4.Exit(退出)");}void printmonth(int y,int m){ int i,j,w; w=(week(y,m,1)+1)%7; puts(" SUN MON TUE WED THU FRI SAT"); for(i=1;i<=w;i++) printf("%5c",' '); for(j=i;j...

求大神帮忙写一个c语言万年历代码,(要求输入一个年月,打印出对应的日历...
tm *mkt = new tm, *gmt; t = time(NULL); mkt = gmtime(&t); mkt->tm_mday = 1; mkt->tm_mon = month - 1; mkt->tm_year = year - 1900; t1 = mktime(mkt); n = mkt->tm_wday; gmt = mkt; COORD p; HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE); while (...

C语言万年历代码
printf(" C语言简单万年历\\n"); \/\/打印标题 XunHuan: \/\/循环标号(可以通过goto跳转到这里)printf("请输入年份<0000~9999>: "); \/\/提示输入年份(0~9999)scanf("%d",&Year); \/\/把输入的年份赋值给变量Year printf("请输入月份<0~12>: "); \/\/提示输入月份(1~12)scanf("...

四会市13827358522: c语言编程:打印年历 -
雍泰林可: #includevoid main() { int i,j,k,year,week; int day[]=; char month[12][10]=; printf("Input year you want to print:"); scanf("%d",&year); if((year%4==0&&year%100!=0)||(year%400==0)) day[1]++; //判断是否闰年 week=(35+year+year/4-year/100+...

四会市13827358522: 用c语言打印年历 -
雍泰林可: #include <stdio.h> void main() { int i,j,k,year,week; int day[]={31,28,31,30,31,30,31,31,30,31,30,31}; char month[12][10]={"January","February","March","April","May","June","July","August","September","October","...

四会市13827358522: 求用C语言编写打印万年历的程序代码 -
雍泰林可: #include int 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

四会市13827358522: 求助:一个c语言打印年历.
雍泰林可: #include <stdio.h> int month_day[13]={0,31,0,31,30,31,30,31,31,30,31,30,31}; int main() { int year; //年 char change; do { do{ printf("请输入年份:"); scanf("%d",&year); if(year<0) printf("输入年份格式错误!"); }while(year<0); if(year...

四会市13827358522: 用c语言编程:打印年历 -
雍泰林可: 没想到这个程序会做这么长,要不得多要点分.#include <stdio.h> void main() { int i,j,k,year,week; int day[]={31,28,31,30,31,30,31,31,30,31,30,31}; char month[12][10]={"January","February","March","April","May","June","July",...

四会市13827358522: C语言程序设计 万年历查询程序. -
雍泰林可: 实验名称:万年历的查询及打印【内容】:设计一个查询并打印万年历的程序.【步骤】:1. 画出程序流程图;2. 编写程序;3. 调试程序,对调试过程中出现的问题进行分析,找出错误的原因并予改正;4. 写出通过调试并修改正...

四会市13827358522: C语言编写年历
雍泰林可: 只找到这个打印的, 你自己看看, #include <stdio.h> void main() { int i,j,k,year,week; int day[]={31,28,31,30,31,30,31,31,30,31,30,31}; char month[12][10]={"January","February","March","April","May","June","July","August","...

四会市13827358522: C语言程序设计 万年历打印设计
雍泰林可: 以下程序来源《C精粹(第2版)》 #include "stdio.h" #include "stdlib.h" long int f(int year,int month) {/*f(年,月)=年-1,如月<3;否则,f(年,月)=年*/ if(month<3) return year-1; else return year; } long int g(int month) {/*g(月)=月+13,...

四会市13827358522: c语言年历编程 -
雍泰林可: #include<stdio.h> static int year; static int weekDay; bool isLeapYear(int y) //判断是否是闰年 { return(y%4==0&&y%100!=0||y%400==0); //闰年的条件就是年份同时能被4和100整除或 // 者能被400整除 } long firstDayOfYear(int y) //求出输入的那年...

四会市13827358522: C语言编写万年历 -
雍泰林可: #include"stdio.h" void print(int);//函数声明 int dobb(int); int date(int,int,int); void main() { int year=0; printf("输入打印的年份(XXXX)\n"); scanf("%d",&year); print(year); } int dobb(int year)//闰年判断 { if((year%4==0 && year%100!=0)...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网