概述
1.程序名称:三天打鱼两天晒网
2. 使用语言:c语言
3. 编译环境:vs2015
4. 设计思路:
(1) 先计算从2010年1月1日起到指定日期有多少天,然后判断要经历的年份中是否有闰年,闰年的二月为29天,平年为28天。我们可以得到:如果指定年份能被400整除,则该年是闰年,否则,不是闰年。
(2) 由于“打鱼”和“晒网”的周期数为5天,所以可以得到一个式子:(指定日期-2010)/5;
(3) 可以根据余数判断这个人是在“打鱼”还是“晒网”,我们可以预计到余数有5种结果:1,2,3,4,0;当余数为1,2,3时可知这个人当天在打鱼,否则,这个人在晒网;
5.源代码实现:
include “stdafx.h”
include
define _CRT_SECURE_NO_WARNINGS
int dryOrfish(int nYear, int nMonth, int nDay) {
int bYear = 2010, bMonth = 1, bDay = 1, y = 0, leap = 0, totalDay = 0;
for (y = bYear; y < nYear; y++) {
leap += ((y % 4 == 0 && y % 100!= 0) || y % 400 == 0) ? 1 : 0;
}
totalDay = (nYear - bYear) * 365 + leap;
for (; bMonth < nMonth; bMonth++) {
switch (bMonth) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
totalDay += 31;
break;
case 4:
case 6:
case 11:
totalDay += 30;
break;
case 2:
totalDay += ((nYear % 4 == 0 && nYear % 100 != 0) || nYear % 400 == 0) ? 29 : 28;
default:
break;
}
}
totalDay += nDay;
return (totalDay % 5 == 0 || totalDay % 5 == 4) ? 0 : 1;
}
void main()
{
int year, month, day;
while (1) {
scanf_s(“%d,%d,%d”, &year, &month, &day);
if (dryOrfish(year, month, day)) {
printf(“fishingn”);
}
else {
printf(“dryingn”);
}
}
}
6.心得:
在完成一个新的程序之前一定要将思路编写完整会加快代码的编写与完成;
尽量使用简单的代码会减少整体代码复杂度并且易于实现;
遇到无法解决的问题时经常上网查询有助于加快学习,尤其是细小的问题
最后
以上就是疯狂楼房为你收集整理的三天打鱼两天晒网c语言实现include “stdafx.h”include define _CRT_SECURE_NO_WARNINGS的全部内容,希望文章能够帮你解决三天打鱼两天晒网c语言实现include “stdafx.h”include define _CRT_SECURE_NO_WARNINGS所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复