题目:中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。用C或C++语言/java/python实现程序解决问题。

基本要求:1.程序风格良好(使用自定义注释模板),提供友好的输入输出。

问题分析与算法设计

1)计算从2010年1月1日开始至指定日期共有多少天;

2)由于打鱼和晒网的周期为5天,所以可以由天数与5求余的结果得出最终结果(余数为1,2,3为打鱼,4,0为晒网);

那么求其中的总天数是该程序的关键。我们可以分步求输入年月日对应于2010.1.1之间的天数再求和。Sum=sum1+sum2+sum3;其中年份中总天数需要计算出闰年有几个;伪代码如下:

求年份之间所隔天数:判断该年是否为闰年,若为闰年且月份<2,Sum1=(year-2010)*365+(year-2008)/4-1;否则Sum1=(year-2010)*365+(year-2008)/4。其中(year-2008)是计算出输入年份与2010年最近的闰年数之差,再除4就可得期间的闰年数个数。

求月份之间所隔天数:就是输入月份与1月之间月份的总天数。定义一个数组arr[] = { 31,28,31,30,31,30,31,31,30,31,30,31 },month=i,通过for循环实现对天数的累加。Sum2=sum2+arr[i];

求日之间所隔天数:sum3=day;

Sum=sum1+sum2+sum3;

流程图:

代码如下:

#include

int main()

{

int year, month, day, sum1 = 0, sum2 = 0, sum = 0, sum3 = 0,i;

printf("请输入年月日,中间用连字符-隔开\n");

scanf("%d-%d-%d", &year, &month, &day);

i = month;

int arr[] = { 31,28,31,30,31,30,31,31,30,31,30,31 };

while (year < 2010)

{

printf("年份输入过小,请重新输入: \n");

scanf("%d-%d-%d", &year, &month, &day);

}

if (month < 1 || month>12)

{

printf("月份错误,请重新输入:\n");

scanf("%d-%d-%d", &year, &month, &day);

}

if (day>arr[i-1])

{printf("日期错误,请重新输入:\n");

scanf("%d-%d-%d", &year, &month, &day);

}

if ((year % 4 == 0 && year % 100 != 0 || year % 400 ==0) && month > 2)//判断输入年份是否为闰年且月份是否>2;

sum1 = (year - 2010) * 365 + ((year - 2008) / 4) + 1;//(year-2008)/4计算出输入年份与2000年之间的闰年数,闰年的话多加一天

else

sum1 = (year - 2010) * 365 + ((year - 2008) / 4);

for (i = 0; i

{

sum2 = sum2 + arr[i];

}

if (day>1)

{

sum3 = day;

}//如果输入的日期是一号,则不需要加1

sum = sum1 + sum2 + sum3;

printf("sum=%d\n", sum);

if (sum % 5 == 0 || sum % 5 == 4)

{

printf("晒网\n");

}

else {

printf("打渔\n");

}

return 0;

}

调试截图:

加断点调试:

测试结果展示:

``

学习心得:

很久没编了,很多东西在第一开始就没学会,这次在网上查了很多,虽然编程知识还是没学会多少,但毕竟有所收获。从理解别人的代码到修改其中的不足,我觉得我思想上也是有进步的。我畏惧编程,或许从内心抵抗它,但是没办法选了这个专业,还有一年9半的时间,我希望自己可以去学习不同新的知识,无论是编程还是其他方面的知识。(或许这个IT博客不适合写这些,可我还是想要说出自己的想法。)希望自己不要老是害怕,勇敢一些,至少不要挂科。加油!

python天天向上的力量三天打鱼两天晒网_三天打鱼两天晒网问题相关推荐

  1. python天天向上的力量程序代码_天天向上的力量python(举一反三)

    天天向上的力量python实例(举一反三) 实例1: 一年365天,以第1天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高0.1%,没有学习实能力值相比前一天下降0.1%. 问:每天努力 ...

  2. python天天向上的力量三天打鱼两天晒网_天天向上的力量

    我前阵子三天打鱼两天晒网地学了一点Python,也就开个头的样子吧,然后就不想学了,一鼓作气再而衰三而竭了.我学到课程的第三个例子,老师给起的名字叫"天天向上的力量". 其实就是那 ...

  3. python天天向上的力量三天打鱼两天晒网_017 示例3-天天向上的力量-Go语言中文社区...

    一."天天向上的力量"问题分析 1.1 天天向上的力量 基本问题:持续的价值 一年365天,每天进步1%,累计进步多少呢? (1.01^{365}) 一年365天,每天退步1%,累 ...

  4. python天天向上的力量 A

    天天向上的力量 A ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬ ...

  5. python天天向上的力量 B

    天天向上的力量 B ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬ ...

  6. python天天向上的力量b_Python“天天向上的力量”——基本数据类型以及数值运算函数...

    整数类型:与数学中整数的概念一致 -可正可负,没有取值范围限制 -pow(x,y)函数:计算xy,想算多大算多大 -十进制:1010,99,-217 -二进制:以0b或0B开头:0b010,-0B10 ...

  7. python中天天向上的力量b_2018.4.8(Python)基本数据类型 天天向上的力量 (def函数的定义)...

    Q3:工作日的力量 设在一年365天中 周一到周五 每天进步1% 周末两天休息 每天退步1%,那么一年后你的能力是多少 p=1.0 a=0.01 for i in range(365): if i%7 ...

  8. python天天向上和天天向下代码解析_天天向上的力量python(举一反三)

    天天向上的力量python实例(举一反三) 实例1: 一年365天,以第1天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高0.1%,没有学习实能力值相比前一天下降0.1%. 问:每天努力 ...

  9. python五天向上两天向下_天天向上的力量python(举一反三)

    天天向上的力量python实例(举一反三) 实例1: 一年365天,以第1天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高0.1%,没有学习实能力值相比前一天下降0.1%. 问:每天努力 ...

最新文章

  1. Xcode 创建.a和framework静态库(转)
  2. Linux Shell 命令--cut
  3. (chap4 IP协议) 全局地址和私有地址
  4. 【深度】阿里巴巴万级规模 K8s 集群全局高可用体系之美
  5. 中国建筑设计行业投资发展形势及前景规模调查报告2022-2028年版
  6. linux学习-用户的特殊 shell 与 PAM 模块
  7. java不同环境_Spring Boot系列 – 5. 不同的环境使用不同的配置
  8. LeetCode 221. 最大正方形(DP)
  9. [C++] 哈希计数
  10. LAMP环境搭建过程中出现的问题——基于VM虚拟CentOS-5.6
  11. Algorithm:贪心策略之区间覆盖问题
  12. 程序员必须掌握的 CPU 硬核干货!
  13. VS2010 C# 调用Web Service
  14. 关于MacOS升级10.13系统eclipse菜单灰色无法使用解决方案
  15. 2.6 数值分析: 追赶法
  16. git提交 [rejected] fetch first 解决办法
  17. Linux Shell查找下一个
  18. 如何在线对图片进行压缩?
  19. 计算机网络系列笔记(六) - 物理层
  20. CUDA+VS2017+win环境下 cuda工程环境搭建(解决标识符未定义或申明)

热门文章

  1. 循环列表实现约瑟夫环
  2. 使用Emmagee进行Android性能测试
  3. RX590GME黑苹果刷RX580 2304SP BIOS
  4. python: if, and, bool 联合使用需要加括号()
  5. 同一服务器 多网站,同一服务器 多网站
  6. 华为荣耀MagicBook笔记本 键盘灯怎么设置为常亮?
  7. IOS隐藏手机号码****显示
  8. unity3d控制物体移动
  9. c 配置mysql字符串_mysql字符串属性实例学习
  10. [附源码]计算机毕业设计JAVA卡通动漫商城系统