C语言期末集训2(大一,超基础,小猫猫大课堂的配套练习)—

判断闰年

写一个程序,判断某一年是否为闰年

#include<stdio.h>
int main()
{
	int year,leap;
	printf("enter year:");
	scanf("%d",&year);
	if(year%4==0)
	{
		if(year%100==0)
		{
			if(year%400==0)
		    leap=1;
		    else
		    leap=0;
		}
		
		else
	    leap=1;
	}
	else
	leap=0;
	if(leap)
	printf("%d is",year);
	else
	printf("%d is not ",year);
	printf("a leap year.\n");
return 0;	
 } 

程序一最好理解。

  • 首先闰年必须能被4整除,不能就是非闰年
  • 其次,在被4整除之后,要被100整除,不能被整除就是闰年
  • 最后,就算是被100整除了,如果能被400整除,也是闰年,至于其他不能整除的,自然就是非闰年。小朋友懂了吗?


求二次方程函数的解

下面的长文是水字数,不然csdn要建议,小朋友可以看看,帮助理解。

[一元二次方程](https://bbs.csdn.net/topics/618545628)的两个根可以通过[因式分解法](https://bbs.csdn.net/topics/618545628)和十字相乘法解出。
1、因式分解法:又分“提公因式法”;而“[公式法](https://bbs.csdn.net/topics/618545628)”(又分“平方差公式”和“完全平方公式”两种),另外还有“十字相乘法”,因式分解法是通过将方程左边因式分解所得,因式分解的内容在八年级上学期学完。
用因式分解法解一元二次方程的步骤:
(1)将方程右边化为0;
(2)将方程左边分解为两个一次式的积;
(3)令这两个一次式分别为0,得到两个一元一次方程;
(4)解这两个一元一次方程,它们的解就是原方程的解。
举例如:解方程:x²+2x+1=0
解:利用完全平方公式因式解得:(x+1)²=0
解得:x=-1
2、十字相乘法:x的平方+(p+q)x+pq=(x+p)(x+q)
例:ab+b²+a-b- 2
=ab+a+b²-b-2
=a(b+1)+(b-2)(b+1)
=(b+1)(a+b-2)
[求根公式](https://bbs.csdn.net/topics/618545628):首先要通过Δ=b²-4ac的根的判别式来判断一元二次方程有几个根:
(1)当Δ=b²-4ac<0时 x无实数根(初中)。
(2)当Δ=b²-4ac=0时 x有两个相同的实数根 即x1=x2。
(3)当Δ=b²-4ac>0时 x有两个不相同的实数根。
当判断完成后,若方程有根可根属于2、3两种情况方程有根则可根据公式:x={-b±√(b²-4ac)}/2a来求得方程的根。
扩展资料:
一元二次方程根的判别式。
1、一元二次方程ax²+bx+c=0(a≠0)的根的判别式定理:
在一元二次方程ax²+bx+c=0(a≠0)中,Δ=b²­4ac
若△>0则方程有两个不相等的实数根。
若△=0则方程有两个相等的实数根。
若△<0则方程没有实数根。
2、这个定理的逆命题也成立,即有如下的逆定理:
在一元二次方程ax²+bx+c=0(a≠0)中,Δ=b²­4ac。
若方程有两个不相等的实数根,则△>0。
若方程有两个相等的实数根,则△=0。
若方程没有实数根,则△<0。
3、如果二次项系数中含有字母,要考虑二次项系数不为零这个限制条件。

#include<stdio.h>
#include<math.h> 
int main()
{
	double a,b,c,disc,x1,x2,realpart,imagpart;//realpart是实部,imagpart是虚部
	scanf("%lf,%lf,%lf",&a,&b,&c);
	printf("The equation");//翻译:方程式 
//先判断是不是二次方程,说一个不可能的数与a的绝对值比较,判断a的存在,决定是否是二项式
	if(fabs(a)<=1e-6) //fabs()是一个求绝对值的函数     1e-6表示1乘以10的负6次方 
	  printf("is not a quadratic\n");//quadratic代表二次项 
	else
	{
//有相同的根
		disc=b*b-4*a*c;//disc是判别式,也就是小三角形。
		if(fabs(disc)<=1e-6)///fabs(disc)<一个很小的数(1e-6),如果小于此数,就认为disc等于0.
		    printf("has two equal roots:%8.4f\n",-b/(2*a));//has two equal roots意思是有两个相等的根
		else
//不同的根
		    if(disc>1e-6)
		    {
		    	x1=(-b+sqrt(disc))/(2*a);
		    	x2=(-b-sqrt(disc))/(2*a);
				printf("has distinct real roots:%8.4fand%8.4f\n",x1,x2);//has distinct real roots意思是相异根,不等根 
			}
			else
			{
//共轭复根
				realpart=-b/(2*a);
				imagpart=sqrt(-disc)/(2*a);
				printf("has complex roots:\n");//has complex roots意思是复数解
				printf("%8.4f+%8.4fi\n",realpart,imagpart);
				printf("%8.4f-%8.4fi\n",realpart,imagpart);
			}
	}
	return 0;
 } //小朋友,有些复杂,仔细看,多做几遍,做到自己可以写出来。最好不要简写,比如realpart省略成r,不利于你后期自己复习 

有三个整数a,b,c,由键盘输入,输出其中最大的数(轻松一下)

#include<stdio.h>
int main()
{
	int a,b,c;
	scanf("%d,%d,%d",&a,&b,&c);
	if(a>b)


![img](https://img-blog.csdnimg.cn/img_convert/1b6a413dba3e739d46513a1c0333091c.png)
![img](https://img-blog.csdnimg.cn/img_convert/fe2d788cd52443f588bb296081f80550.png)
![img](https://img-blog.csdnimg.cn/img_convert/e5409c8e190d3ea0d16d850d5096cda4.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值