C语言实现万年历小功能分享!

本文实例为大家分享了C语言实现万年历的具体代码,供大家参考,具体内容如下

一、学了C语言,相信大家都可以做出来。我们要实现的就是用户输入年,月,日。然后打印出来。

二、需要用到的知识点

1.for循环。2.if判断。3.函数的调用

如果您们学了图形库的话,可以贴图上去,效果更加好看。我没有素材,所以,直接用C语言来完成。

三、运行结果

C语言实现万年历小功能

四、我们用C语言代码实现

  /************************************************************************  *        项目名称:万年历  *        项目描述:算法,判断  *        项目环境:VS2013  *        生成日期:2020-3-8  *        作者所属:追梦  *************************************************************************/  #include<conio.h>  #include<stdio.h>  #include<stdlib.h>  int year, month, day;  int run[12] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };//闰年  int ping[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };//平年  char weekday[7][10] = { "一", "二", "三", "四", "五", "六", "日" };//星期  void printStar()//打印  {   printf("**************************************************n");  }  void printBegin()//打印抬头  {   printf("tt万年历tn");   printStar();   for (int i = 0; i < 7; i++)//打印星期   {   printf("%st", weekday[i]);   }   printf("n");  }  //打印下面的日期,判断当前年份是平年还是闰年  int leap(int year)  {   if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)//闰年   return 1;   else if (year % 4 == 0 && year % 100 != 0 && year % 400 == 0)//闰年   return 1;   else   return 0;//平年  }  //计算year离1900年有多少天  int daySum(int year,int month,int day,int run[],int ping[])  {   //参照物1900-1-1-星期一(百度)   int i, sum = 0;   //计算年份天数,闰年+366,平年+365   for( i = 1900; i < year;i++)   {   if (leap(i) == 1)    sum += 366;   else    sum += 365;   }      for (i = 0; i < month-1; i++)//计算月份的天数   {   if (leap(year) == 1)    sum += run[i];   else    sum += ping[i];   }   return sum;  }  //打印日历  void printData(int sum, int year, int month)  {   int result, temp, i; //result空格   result = sum % 7;//前面的空格就是余数---->0-6   //当前月份空余的天数,空格表示   for ( i = 0; i < result; i++)   {   printf("t");   }   temp = 7 - result;//开始打印1号   if (leap(year) == 1)   {   //数组下标是从0开始,月份从一号开始i=1   for (i = 1; i <= run[month - 1]; i++)   {    printf("%dt", i);    if (i == temp || (i - temp) % 7 == 0)//换行    printf("n");   }   printf("n");   }   else   {   for (i = 1; i <= ping[month - 1]; i++)   {    printf("%dt", i);    if (i == temp || (i - temp) % 7 == 0)//换行    printf("n");   }   printf("n");   }  }  int main()  {   system("color 2f");//改变黑窗口的颜色   printf("请输入年 月 日:");   scanf("%d%d%d", &year, &month, &day);   int sum = daySum(year, month, day, run, ping);   printBegin();   printData(sum, year, month);      system("pause");   return 0;  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

—-想了解C语言实现万年历小功能分享!全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/484388.html

(0)
上一篇 2020年11月10日
下一篇 2020年11月10日

精彩推荐