c语言打鱼晒网问题报告书,2021年C语言渔夫打鱼晒网问题.pdf

C 语言渔夫打鱼晒网问题

如果一个渔夫从 2011 年 1 月 1 日开始每三天打一次渔,两天晒一次网,编程实现当输

入 2011 1 月 1 日以后的任意一天,输出该渔夫是在打渔还是在晒网。

实现过程:

(1) 自定义函数 leap() ,用来判断输入的年份是否是闰年。

(2) 自定义函数 number() ,用来计算输入日期距 2011 年 1 月 1 日共有多少天。

(3) main() 函数作为程序的入口函数,在 main() 函数中调用上面两个函数。程序代码如

下:

1. #include

2. int leap ( int a ) /* 自定义函数 leap() 用来指定输入的年份是否为闰年 */

3. {

4. if ( a%4==0&&a%100!= 0|| a%400 ==0) /* 闰年判定条件 */

5. return 1; /* 是闰年返回 1*/

6. else

7. return 0; /* 不是闰年返回 O*/

8. }

9.

10. int number( int year , int month , int day ) /* 自定义函数 number() 计算输入日期距

2011 年 1 月 1 日共有多少天 */

11. {

12. int sum = 0, i , j , k ;

13. int a[ 12]={ 31, 28, 31, 30, 31 , 30, 31, 31, 30 , 31, 30, 31}; /* 数组 a 存放平年每月的天

数*/

14. int b[ 12]={ 31, 29, 31, 30, 31 , 30, 31, 31, 30 , 31, 30, 31}; /* 数组 b 存放闰年每月的天

数*/

15.

16. if ( leap ( year )== 1) /* 判断是否为闰年 */

17. for ( i =0; i

18. sum +=b[ i ]; /* 是闰年,累加数组 b 前 m-1 个月份的天数 */

19. else

20. for ( i =0; i

21. sum +=a[ i ]; /* 不是闰年,累加数组 a 前 m-1 个月份的天数 */

22. for ( j =2011; j

23. if ( leap ( j )== i )

24. sum +=366 ; /*2011 年到输入的年份是闰年的加 366*/

25. else

26. sum +=365 ; /*2011 年到输入的年份不是闰年的加 365*/

27. sum +=day ; /* 将前面累加的结果加上日期,求出总天数 */

28. return sum ; /* 返回计算的天数 */

29. }

30.

31. int main ()

32. {

33. int year , month, day , n;

34. printf ( " 请输入年月日 \n" );

35. scanf ( "%d%d%d",& year ,& month ,&da

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值