生活中的数学问题(打鱼还是晒网)
2015-01-24 12:38
225 查看
/**************************************** * File Name : math.c * Creat Data : 2015.1.24 * Author : ZY *****************************************/ /*生活中的数学问题*/ /*打鱼还是晒网*/ /*中国有句俗话叫“三天打鱼两天晒网”。某人从1990年 1月1日起开始“三天打鱼两天晒网”,问这个人在以后的 每一天中是在“打鱼”,还是在“晒网”。*/ #include <stdio.h> struct data //定义日期结构体 { int year; int month; int day; }; int days(struct data day) { int i,lp; 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,},//闰年每月的天数 }; lp = day.year %4 == 0 && day.year %400 != 0 || day.year %100 == 0 ; //判定year为闰年还是平年,lp = 0为平年,lp = 1为闰年 for( i = 1; i < day.month ;i++ )//计算本年中自1月1日起的天数 { day.day += day_tab[lp][i]; } return day.day ; } int main() { struct data today; struct data term; int yearday,year,day; printf("Enter year/month/day:"); scanf("%d%d%d",&today.year ,&today.month ,&today.day );//输入日期 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;//求余数(1,2,3)为打鱼,其余为晒网 if(day > 0 && day < 4)//打印结果 { printf("He was fishing at the day.\n"); } else { printf("He was sleeping at the day.\n"); } return 0; }
相关文章推荐
- 生活中的数学问题(二)
- 生活中的数学问题(四)
- 打鱼还是晒网问题
- 生活中的数学问题(五)
- (转)invalid s 在问题“为什么很多书看完了之后,回到生活中,还是该怎样就怎样? ”中的回复
- 自由是有代价的:聊聊这几年尝试的道路 要想生活好,别看哲学书和思想书。简单看看可以,看多了问题就大了。还是要去研究研究些具体的问题。别jb坐在屋子里,嘴里念着海子的诗,脑袋里想康德想的事情,兜里屁都没有,幻想自己是大国总理,去想影帝是怎么炼成的。
- 生活中的数学问题
- 生活中的数学问题(三)
- 生活中的数学问题(数学家的难题)
- 生活中的数学问题(二)
- 生活中的数学问题(七)
- 过河问题 还是不会 去学请教一下 数学老师 -----
- 打鱼还是晒网问题
- 生活中的数学问题(六)
- 生活中的数学问题(一)
- Vector还是ArrayList这是个问题
- 计算机科学与技术学习心得之计算机理论的一个核心问题--续谈其他的一些计算数学(转载)
- 以后不要考虑那些生活中的细节问题,什么事做到问心无愧即可!
- 马尔代夫还是欧洲四国,这不是问题。
- 生存还是死亡 这是个问题————写在软件学院三周年之际