077.打鱼还是晒网

简介: 077.打鱼还是晒网
#include<stdio.h>
struct date{
    int year;
    int month;
    int day;
};
int days(struct date day);
void main()
{
    struct date today,term;
    int yearday,year,day;
  puts("◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇");
  puts("◇              打鱼还是晒网                        ◇");
  puts("◇    中国有句俗语叫【三天打鱼两天晒网】。          ◇");
  puts("◇某人20岁从1990年1月1日起开始【三天打鱼两天晒网】,◇");
  puts("◇问这个人在以后的某一天中是【打鱼】还是【晒网】?  ◇");
  puts("◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇\n");
  while(1)
  {
    printf(" >> 请输入年/月/日【输入1990 1 1 退出】:");
    scanf("%d%d%d",&today.year,&today.month,&today.day);  /*输入日期*/
    if(today.year<1990)
    {
      if(today.year<1970)
        puts(" >> 对不起,那一年那还没出生呢!按任意键继续...");
      else
        puts(" >> 对不起,那一年他还没开始打鱼呢!按任意键继续...");
      getch();
      continue;
    }
    if(today.year==1990&&today.month==1&&today.day==1)
      break;
    term.month=12;               /*设置变量的初始值:月*/
    term.day=31;                 /*设置变量的初始值:日*/
    for(yearday=0,year=1990;year<today.year;year++)
    {
      term.year=year;
      yearday+=days(term);     /*计算从1990年至指定年的前一年共有多少天*/
    }
    yearday+=days(today);       /*加上指定年中到指定日期的天数*/
    day=yearday%5;               /*求余数*/
    if(day>0&&day<4) printf(" >> %d年%d月%d日,他正在打鱼。\n",today.year,today.month,today.day);   /*打印结果*/
    else printf(" >> %d年%d月%d日,他正在晒网。\n",today.year,today.month,today.day);
  }
  puts("\n >>      请按任意键退出...");
  getch();
}
int days(struct date day)
{
    static int day_tab[2][13]=
            {{0,31,28,31,30,31,30,31,31,30,31,30,31,},      /*平均每月的天数*/
             {0,31,29,31,30,31,30,31,31,30,31,30,31,},
    };
    int i,lp;
    lp=day.year%4==0&&day.year%100!=0||day.year%400==0;
      /*判定year为闰年还是平年,lp=0为平年,非0为闰年*/
    for(i=1;i<day.month;i++)            /*计算本年中自1月1日起的天数*/
        day.day+=day_tab[lp][i];
    return day.day;
}
相关文章
|
5天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
15天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
9天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
589 212
|
4天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
233 138
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
827 60
|
7天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1197 157
|
6天前
|
存储 安全 固态存储
四款WIN PE工具,都可以实现U盘安装教程
Windows PE是基于NT内核的轻量系统,用于系统安装、分区管理及故障修复。本文推荐多款PE制作工具,支持U盘启动,兼容UEFI/Legacy模式,具备备份还原、驱动识别等功能,操作简便,适合新旧电脑维护使用。
503 109