【c语言趣味编程100例】打鱼还是晒网

40 篇文章 125 订阅

问题 打鱼还是晒网

编程思路:三天打鱼 两天晒网
实现的思路主要是要求出输入的指定的时间和距离1990 01 01这个时间的天数
我们知道年份有闰年和平年之分 闰年2月份是29天 平年2月份28天
因此 定义一个函数runyear()用来判断程序是否是闰年,这个程序模块化的思想我们一定要有
这样能从本质上将代码功能之间的耦合降低 实现低耦合 
我们知道闰年,接着去定义一个函数 专门去计算总共的天数,
countDay();实现对天数的计算。用一个数组实现对月份的计算,数组下标0 可以不用 直接用 1-12来存储
每月的天数,因为2月的天数是不固定的,我们定义为28天,然后去判断是否是闰年,如果是就加1操作
循环每年的天数,但是 从键盘上的输入的这个年的的月份 也是应该加上,接着去判断这个年份。
加上对应的月份 该月的天数,就实现对总天数的计算
程序的最后 就是对%5求余数。1-3是打鱼 4-5 晒网

 

#include<stdio.h>
/*
程序:三天打鱼 两天晒网
实现的思路主要是要求出输入的指定的时间和距离1990 01 01这个时间的天数
我们知道年份有闰年和平年之分 闰年2月份是29天 平年2月份28天
因此 定义一个函数runyear()用来判断程序是否是闰年,这个程序模块化的思想我们一定要有
这样能从本质上将代码功能之间的耦合降低 实现低耦合 
我们知道闰年,接着去定义一个函数 专门去计算总共的天数,
countDay();实现对天数的计算。用一个数组实现对月份的计算,数组下标0 可以不用 直接用 1-12来存储
每月的天数,因为2月的天数是不固定的,我们定义为28天,然后去判断是否是闰年,如果是就加1操作
循环每年的天数,但是 从键盘上的输入的这个年的的月份 也是应该加上,接着去判断这个年份。
加上对应的月份 该月的天数,就实现对总天数的计算
程序的最后 就是对%5求余数。1-3是打鱼 4-5 晒网
**/
//定义一个结构体类型 年 月 日
typedef struct date{

	int year;
	int month;
	int day;

}DATE;

int countDay(DATE );
int runyear(int );

void main(){

	DATE today;
	int totalDay;
	int result;

	printf("请输入指定日期 年月日 1991 01 02\n");
	scanf("%d%d%d",&today.year,&today.month,&today.day);

   totalDay= countDay(today);
   result = totalDay%5;
   if(result>0&&result<4)
	   printf("今天打鱼");
   else
	   printf("今天晒网");

}

//判断这个年份是不是闰年
int runyear(int year){
	if((year%4==0&&year/100!=0)||(year/400==0))
		return 1;
	else
		return 0;
}

//计算这个年份总天数
int countDay(DATE currentDay){
	
	int perMonth[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
	
	int totalDay = 0,year,i;
	for(year=1990;year<currentDay.year;year++)
	{
		if(runyear(year))
			totalDay= totalDay+366;
		else
			totalDay = totalDay+365;
	}

	if(runyear(currentDay.year))
		perMonth[2]+=1;

	for(i=0;i<currentDay.month;i++){
		totalDay+=perMonth[i];
	}
	
	totalDay+=currentDay.day;
	
	return totalDay;
}

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 51单片机是目前市场上应用非常广泛的一种嵌入式系统控制器,因其价格适中且具有高性价比的特点,深受广大电子爱好者的喜爱。而51单片机c语言编程100例则是一本非常有用的编程实例集合,旨在帮助初学者快速掌握51单片机的编程技能。 这本书包含了100个常见的51单片机实际应用场景,例如LED闪烁、数码管计数、ADC采集、串口通信、定时器应用等等。通过对这100个实例的学习,读者可以快速了解51单片机的常用指令和编程语法,掌握基本的程序设计思路,进而实现自己的想法和创意。 在实际的应用中,51单片机c语言编程100例不仅可以为初学者提供参考,也可以帮助工程师更好地解决复杂的控制问题。例如,通过学习各种传感器及模块的驱动,可以实现温度控制、遥控器控制、电机控制等多种实际应用。这样的应用不仅可以在家庭中实现智能化控制,还可以广泛应用在工业、医疗、安防等多个领域,为各行各业提供更好的控制方案。 因此,51单片机c语言编程100例是一本不可或缺的参考书籍,无论你是初学者还是工程师,都可以从中获益,并在实际应用中得到体现。建议有兴趣的读者购买本书进行学习,相信一定会有收获。 ### 回答2: 51单片机C语言编程100例是一本适合初学者学习51单片机C语言编程的书籍。本书共分为10个章节,每个章节涵盖10个实例,每个实例都循序渐进地讲解了相关知识点,从简单到复杂地呈现,逐步提高读者的理解和应用能力。 书中实例涵盖了很多具有代表性的应用场景,例如定时器控制、PWM控制、LCD屏幕显示、AD转换等。读者不仅可以了解51单片机的基础知识,还可以掌握51单片机C语言编程方法和技巧。 本书的编排方式很清晰,每个实例都配有详细的程序代码、清晰的思路分析和实现步骤,方便读者学习和应用。此外,本书还涵盖了一些常见的技巧和调试方法,使读者更加全面地理解和掌握51单片机C语言编程。 总之,51单片机C语言编程100例适合初学者阅读,既可以作为入门学习的教材,也可以作为实际应用开发的参考资料,是一本极具实用和参考价值的书籍。 ### 回答3: 《51单片机c语言编程100例》这本书是一本非常实用的教材,涵盖了从初级到中级的多个难度级别的例子,适合初学者和进阶者学习。全书共分为十个章节,每一章节涉及到的内容都非常有用,学习效果十分显著。 在这本书里,读者可以很快掌握51单片机c语言的基本语法和编程思路,积累一定的编程经验。同时,书中讲解的实例很实用,可以涵盖很多实际应用场景,让读者掌握真正的应用技能。比如,这本书讲解了键盘输入、串口通信、LCD屏幕显示、定时器中断等多种有用的技术。 此外,书中还包含了大量的图表和实验说明,让读者更快速地理解和掌握技能。并且,除了常规的编程技巧,书中还涉及了面向对象编程、模块化设计、低功耗设计等高级主题,让读者提高自己的编程能力和技术水平。 综上所述,《51单片机c语言编程100例》是一本非常实用的教材,能够帮助学习者迅速掌握51单片机编程的基本知识和技能,提高自己的编程水平。这本书适合初学者和进阶者使用,是一本值得推荐的参考书籍。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qxlxi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值