.编程序实现如下功能:输入任意一个年份的值,按以下格式输出该年份一月份的公历日历。 要求用循环控制打

.编程序实现如下功能:输入任意一个年份的值,按以下格式输出该年份一月份的公历日历。 要求用循环控制打,第1张

#include<stdioh>

void main()

{

int days,year,i,j,d;

scanf("%d",&year);

days=(year-1)365+((year-1)/4-(year-1)/100+(year-1)/400)+1;

d=days%7;

printf(" %d年日历\n",year);

printf(" 一月\n");

printf(" 日 一 二 三 四 五 六\n");

for(j=0;j<d;j++)

printf(" ");

for(i=1;i<=31;i++)

{

printf("%5d",i);

if((d+i)%7==0)

printf("\n");

}

}

1查查公元元年1年1月1日是星期几2懂得计算某一年是否闰年

3根据你输入的年份,结合闰年算法,计算输入年份的元旦离公元元年元旦有几天,并根据这个计算输入年份元旦是星期几

4计算输入年份是否闰年

5按月份,输出月历,12个就是年历了,或者说是这年的日历。

C语言程序如下:

#include<stdioh>

#define YES   1           / 定义符号常数“是” /

#define NO    0           / 定义符号常数“否” /

/ 函数 isleap(): 判断某年是否闰年 /

int isleap(int year)

{

int leap = NO;

if((year%4==0 && year%100!=0 )|| year%400==0)

leap = YES;

return leap;

}

/ 函数 week_of_newyears_day(): 求元旦是星期几 /

int week_of_newyears_day(int year)

{

int n = year-1900;

n = n+(n-1)/4+1;

n = n%7;

return n;

}

int main(int argc,char argv[])

{

int year, month, day, weekday, len_of_month, i;

printf("\n请输入某年年份: ");

scanf("%d",&year);

printf("\n请输入某年1月1日:");

scanf("%d",&weekday);

/因为你的要求是已知2000年1月1日是星期六,所以这里不用week_of_newyears_day去求星期六了/

/weekday = week_of_newyears_day(year);    求元旦是星期几 /

printf("\n\n\n               %d年\n",year); / 打印年份     /

for(month=1; month<=12;month=month+1) / 打印12个月的月历 /

{

printf("\n%d月份\n",month);

printf("------------------------------------------------------\n");

printf("星期日  星期一  星期二  星期三  星期四  星期五  星期六\n");

printf("------------------------------------------------------\n");

for(i=0;i<weekday;i=i+1)       / 找当月1日的打印位置 /

printf("        ");

if(month==4 || month== 6 || month==9 || month==11)

len_of_month = 30;

else if(month==2)

{

if(isleap(year))

len_of_month = 29;

else

len_of_month = 28;

}

else

len_of_month = 31;

for(day=1;day<=len_of_month;day=day+1)/ 打印当月日期 /

{

printf("   %2d   ",day);

weekday = weekday+1;

if(weekday==7)                / 打满一星期应换行 /

{

weekday = 0;

printf("\n");

}

}

printf("\n");                      / 打完一月应换行  /

}

return 0;

}

运行效果如图

以上就是关于.编程序实现如下功能:输入任意一个年份的值,按以下格式输出该年份一月份的公历日历。 要求用循环控制打全部的内容,包括:.编程序实现如下功能:输入任意一个年份的值,按以下格式输出该年份一月份的公历日历。 要求用循环控制打、编写一个程序,实现输入一个年份,输出这年的日历!! 求思路,越具体越好!!、C语言程序设计;"已知2000年1月1日为星期六,请输入任一年的年份后,打印该年的年历" 怎么设计啊,速求老师等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10073433.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存