1.任务和代码:
/*
*文件名称:yiyuan_erci.c
*作 者:末子灬秋风
*完成时间:2020年3月10日
*版本 号:vc++6.0
*
*问题描述:有一方程ax^2+bx+c=0,a,b,c的值由键盘输入,请编程序,打印出以下情况时方程的解。
(1) a=0,b≠0时, 解为-c/b
(2) a=0,b=0,c=0, 解为任意值?
(3) a=0,b=0,c≠0, 无解
(4) a≠0,b^2-4ac≥0, 有两个实根
(5) a≠0,b^2-4ac≤0, 有两个虚根
*程序输出:输出一元二次方程的解
*/
#include //包含文件
#include //需要调用sqrt()函数
//主函数
int main()
{
float a,b,c,x1,x2,delta;
printf("请输入一元二次方程的a,b,c的数值:");
scanf("%f %f %f",&a,&b,&c); //输入a,b,c
//准备工作
delta=b*b-4*a*c; //判别式
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
//利用if语句判断情况种类
if(a==0)
{
if(b==0)
{
if(c==0)
{
printf("该方程的解可以是任何数!!!\n"); //a=b=c=0
}
else
{
printf("该方程无解!!!"); //a=b=0;c!=0;
}
}
else
{
printf("该方程只有唯一的解:%.2f",-c/b); //a=0;b!=0;
}
}
else
{
if(delta>=0)
{
printf("该方程有两个实根:x1=%.2f\tx2=%.2f\n",x1,x2);
}
else
{
printf("该方程有两个虚根!!!\n");
}
}
printf("\n"); //空一行
return 0;
}
2.运行结果: 3.知识点总结: C语言程序基本框架 输入输出函数的运用 if语句双分支结构多次嵌套 在数学库函数#include中调用sqrt()函数
4.心得:慢慢理解到了清晰,逻辑清楚的重要性了,要养成良好的编程习惯。
|