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

 更新不易,麻烦多多点赞,欢迎你的提问,感谢你的转发,

最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要。

大一上程序设计期末复习,超基础,小猫猫大课堂配套练习。

目录

判断闰年 

求二次方程函数的解 

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

总结:


判断闰年 

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

#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要建议,小朋友可以看看,帮助理解。

一元二次方程的两个根可以通过因式分解法和十字相乘法解出。
1、因式分解法:又分“提公因式法”;而“公式法”(又分“平方差公式”和“完全平方公式”两种),另外还有“十字相乘法”,因式分解法是通过将方程左边因式分解所得,因式分解的内容在八年级上学期学完。
用因式分解法解一元二次方程的步骤:
(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)
求根公式:首先要通过Δ=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 quadraticn");//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.4fn",-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.4fn",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.4fin",realpart,imagpart);
				printf("%8.4f-%8.4fin",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)
	{
		if(a>c)
		{
			printf("最大数为%d",a);
		}
		else
		{
			printf("最大数为%d",c);
		}
	 }
	 else if(b>c)
	 	printf("最大数为%d",b);
	 	else
	 	printf("最大数为%d",c);
	return 0;
 } 

#include<stdio.h>
int main()
{
	int x,y;
	scanf("%d",&x);
	if(x<1) 
	{
		y=x;
	}
	else  if(x>=1)
	         if(x>10)
	         y=3*x-10;
	         else
	         y=2*x-1;
	printf("%d",y); 
	return 0;
 } 

同类配套练习!!!哦耶耶! 


总结:

今天是选择语句的题,相对难一点,小喵需要在做几遍,才能把这个完全吃透!写得很详细,有什么不足,麻烦私信Q一下小喵。非常感谢!!!伙伴们,晚安。

更新不易,麻烦多多点赞,欢迎你的提问,感谢你的转发,

最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>