打印年历到文件中c语言

今天,嗨壳技术分享网给大家整理一些打印年历到文件中c语言内容。

  用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”,”November”,”December”};

  printf(“Input year you want to print:”);

  scanf(“%d”,year);

  if((year%4==0year%100!=0)||(year%400==0)) day[1]++;

  week=(35+year+year/4-year/100+year/400)%7; //计算当年的1月1日是周几的公式

  for(i=0;i12;i++)

  {

  printf(“

  %s

  ”,month[i]);

  printf(“Sun Mon Tue Wed Thu Fri Sat

  ”);

  for(k=0;kweek;k++) printf(” “);

  for(j=1;j=day[i];j++)

  {

  printf(“%3d “,j);

  if(++week=7)

  {

  printf(“

  ”);

  week=week%7;

  }

  }

  printf(“

  ”);

  }

  }

  c语言编程:打印年历

  #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==0year%100!=0)||(year%400==0)) day[1]++; //判断是否闰年

  week=(35+year+year/4-year/100+year/400)%7; //计算当年的1月1日是周几的公式

  for(i=0;i12;i++)

  {

  printf(“

  %s

  ”,month[i]); //输出月份的英文

  printf(“Sun Mon Tue Wed Thu Fri Sat

  ”); //输出表头

  for(k=0;kweek;k++) printf(” “); //每月一号对齐它的星期数

  for(j=1;j=day[i];j++)

  {

  printf(“%3d “,j);

  if(++week=7)

  {

  printf(“

  ”);

  week=week%7;

  }

  }

  printf(“

  ”);

  }

  }

  输入一个年份,打印该年的年历,用C语言编写,老师布置的作业。

  //—————————————–

  //前端时间看到的一断代码看到不错就留下来了,不知道作者是谁,看到勿怪

  #includestdio.h

  long int f(int year,int month)

  {//f(年,月)=年-月,如月3;否则,f(年,月)=年

  if (month 3)

  return year-1;

  else

  return year;

  }

  long int g(int month)

  {//g( 月)=月+13,如月3;否则,g(月)=月+1

  if(month3)

  return month + 13;

  else

  return month + 1;

  }

  long int n(int year,int month,int day)

  {

  return 1461L*f(year,month)/4+153L*g(month)/5+day;

  }

  int w(int year,int month,int day)

  {

  return(int) ((n(year,month,day)%7-621049L%7+7)%7);

  }

  int date[12][6][7];

  int day_tbl[][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};

  int main()

  {

  int sw,leap,i,j,k,wd,day;

  int year;

  char title[]=”SUN MON TUE WED THU FRI SAT”;

  printf(“Please input the yewr whose calendar you want to know:”);

  scanf(“%d%*c”,year);

  sw=w(year,1,1);

  leap=year%4==0year%100||year%400==0;//判断闰年

  for(i=0;i12;i++)

  for (j=0;j6;j++)

  for(k=0;k7;k++)

  date[i][j][k]=0;//将日期表置0

  for(i=0;i12;i++)//一年12个月

  for(wd=0,day=1;day=day_tbl[leap][i];day++)

  {//将i+1月的日期填入日期表

  date[i][wd][sw]=day;

  sw=++sw%7;//每星期7天,以0~6计数

  if (sw==0)

  wd++;//日期表每七天一行,星期天开始新的一行

  }

  printf(“

  |====================The Calendar of Year %d====================|

  |”,year);

  for(i=0;i6;i++)

  {//先测算地i+1月和第i+7月的最大星期数

  for(wd=0,k=0;k7;k++)//日期表的第六行有日期,则wd!=0;

  wd+=date[i][5][k]+date[i+6][5][k];

  wd=wd?6:5;

  printf(“%2d %s %2d %s |

  |”,i+1,title,i+7,title);

  for(j=0;jwd;j++)

  {

  printf(” “);

  //左栏为i+1月,右栏为i+7月

  for (k=0;k7;k++)

  {

  if(date[i][j][k])

  printf(“%4d”,date[i][j][k]);

  else

  printf(” “);

  }

  printf(” “);

  for(k=0;k7;k++)

  {

  if(date[i+6][j][k])

  printf(“%4d”,date[i+6][j][k]);

  else

  printf(” “);

打印年历到文件中c语言

  }

  printf(” |

  |”);

  }

  }

  puts(“=================================================================|”);

  puts(“Please input any key to quit…”);

  getchar();

  return(0);

  }

  C语言编写打印万年历(呼唤高手)

  你先按我的思路走一边 给你点启发

  首先你要搞万年历

  首先随便确定一个你知道的星期几的日子

  对其年进行分析

  比如 2007年5月1日 周二

  那么 我们应该准备两套思路 一套思路是根据年份 算出今天是周几

  其次 下一个思路 就是判断这一年的天数 这样我们暂且解决了年份造成的天数的不同

  其次 就是具体的了 比如你需要考虑闰年 和月份的天数差别

  这样你现在再去写写看

  其实 写万年历 有点象根据今天 来去推算 某年某日某天是周几一样 呵呵 其实算法都是一样的

  你尝试下用C++去写 更容易些 定义类 不至于那么麻烦

  用 C写 主要反映下算法 你自己耐心点

  应该没有什么问题

  c语言打印万年历用数组

  #include stdio.h

  int main()

  {

  int a, i, j, n, k, t, w, x, y, z;

  static int d[13][78];

  int m[14] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

  char wst[] = ” Sun Mon Yue Wed Thu Fri Sat   “;

  printf(“输入年份: “);

  scanf(“%d”, y);

  if (y % 4 == 0  y % 100 != 0 || y % 400 == 0)  /*闰年的二月为29天*/

  m[2] = 29;

  w = (y + (y – 1) / 4 – (y – 1) / 100 + (y – 1) / 400) % 7; /*计算y年元旦为星期w*/

  for (i = 1; i = 12; i++)

  {

  a = 1;

  for (j = 1; j = 6; j++)

  {

  for (k = 0; k = 6; k++)

  {

  while (kw) k = k + 1;

  d[i][j * 10 + k] = a;  /*计算i月的第j个星期的星期w的日期为a*/

  a = a + 1;

  w = k + 1;

  if (w == 7) w = 0;

  if (am[i]) break;

  }

  if (am[i]) break;

  }

  }

  printf(“输入每行显示几个月份(1,2,3,4,5,6): “);

  scanf(“%d”, x);

  for (k = 1; k = 16 * x – 3; k++)

  printf(” “);

  printf(“=====%d=====

  ”, y);   /*打印年号*/

  for (n = 1; n = 12 / x; n++)

  {

  t = x*(n – 1) + 1;

  printf(“

  ”);

  for (z = 1; z = x; z++)

  {

  for (k = 1; k = 15; k++)

  printf(” “);

  printf(“%2d”, t + z – 1);   /*打印月号*/

  for (k = 1; k = 14; k++)

  printf(” “);

  }

  printf(“

  ”);

  for (z = 1; z = x; z++)      /*按一横排x个月格式打印*/

  printf(“%s”, wst);   /*打印星期标题*/

  for (j = 1; j = 6; j++)

  {

  printf(“

  ”);

  for (i = t; i = t + x – 1; i++)

  {

  printf(”   “);

  for (k = 0; k = 6; k++)

  if (d[i][j * 10 + k] == 0) /*空缺日期位置打印空格*/

  printf(”    “);

  else

  printf(“%4d”, d[i][j * 10 + k]);/*打印日期*/

  }

  }

  }

  return 0;

  }

  输入示例:

  2016按回车

  2(或者输入1或3)按回车

最后,我要感谢所有支持和关注嗨壳技术分享网(www.heikehao.com)的人们,是你们的支持和鼓励使我们更加坚定了创办这个平台的决心。我们将致力于为大家提供更好的内容和服务,为技术爱好者们搭建一个学习、分享和进步的家园。

原创文章,作者:语言我知,如若转载,请注明出处:https://www.heikehao.com/22089.html

(0)
语言我知语言我知
上一篇 2022年2月24日
下一篇 2022年2月24日

相关推荐

  • c语言坐标图,c语言表示坐标

    关于c语言坐标图,c语言表示坐标话题,今日,嗨壳技术分享网小编抽出大半天的时间整理一些c语言坐标图,c语言表示坐标内容,让我们一起了解一些技术吧!   求教高手:怎么用C语言画坐标…

    2020年4月28日
  • 数据结构c语言版光盘

    今天,嗨壳技术分享网给大家整理一些数据结构c语言版光盘内容。   数据结构 c语言版(严尉敏)   我看了一下,好像没有代码,全称是:   《数据结构(C语言版)》配书光盘   D…

    2021年3月29日
  • 栈空的c语言代码,栈用c语言实现

    今日,嗨壳技术分享网小编分享栈空的c语言代码,栈用c语言实现 相关内容,内容如下。   数据结构定义一个栈并实现入栈和出栈操作的程序c语言完整版   1、您好:你是在学习数据结构方…

    2020年3月21日
  • c语言数组中删除重复元素(c语言删除数组中的重复元素保留一个)

    今日,嗨壳技术分享网小编分享c语言数组中删除重复元素(c语言删除数组中的重复元素保留一个) 相关内容,内容如下。   今天给各位分享c语言数组中删除重复元素的知识,其中也会对c语言…

    2022年8月17日
  • 自学oc语言-oc和c语言的区别

    针对自学oc语言-oc和c语言的区别的内容, 嗨壳技术分享网今天给大家作出详细的解答吧!   想自学iOS开发,因该怎么开始   基础知识在学习IOS开发前,首先要有基础的数学知识…

    2020年1月31日
  • 一般c语言嵌入式程序(嵌入式C语言编程)

    今天,嗨壳技术分享网给大家整理一些一般c语言嵌入式程序(嵌入式C语言编程)内容。   本篇文章给大家谈谈一般c语言嵌入式程序,以及嵌入式C语言编程对应的知识点,希望对各位有所帮助,…

    2021年4月30日
  • 如何解决c语言数据对齐问题,c语言对齐输出代码

    关于如何解决c语言数据对齐问题,c语言对齐输出代码话题,今日,嗨壳技术分享网小编抽出大半天的时间整理一些如何解决c语言数据对齐问题,c语言对齐输出代码内容,让我们一起了解一些技术吧…

    2020年5月11日
  • c语言字符串转换字节函数(C语言转换字符串)

    c语言字符串转换字节函数(C语言转换字符串)   本篇文章给大家谈谈c语言字符串转换字节函数,以及C语言转换字符串对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。   本文目…

    2020年7月26日
  • c语言鼠标左键动松开停

    c语言鼠标左键动松开停 大家并不陌生,借来给大家详细说说吧!   C语言怎么实现鼠标操作   1、标准C库的所有头文件可以参照官方网站,里面有各头文件中包含函数功能比较详细的说明。…

    2020年3月10日
  • c语言stl中排序

    c语言stl中排序 大家并不陌生,借来给大家详细说说吧!   今天给各位分享c语言stl中排序的知识,其中也会对C语言中排序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站…

    2023年5月18日