c语言解答:求方程aχ²+bχ+c=0的根,用3个函数分别求当bχ²-4ac大于0、等于0和小于0时的根并输出结果.从主函数输入a,b,c的值

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/13 05:39:00
c语言解答:求方程aχ²+bχ+c=0的根,用3个函数分别求当bχ²-4ac大于0、等于0和小于0时的根并输出结果.从主函数输入a,b,c的值

c语言解答:求方程aχ²+bχ+c=0的根,用3个函数分别求当bχ²-4ac大于0、等于0和小于0时的根并输出结果.从主函数输入a,b,c的值
c语言解答:求方程aχ²+bχ+c=0的根,用3个函数分别求当bχ²-4ac大于0、等于0和小于0时的根并输出结果.从主函数输入a,b,c的值

c语言解答:求方程aχ²+bχ+c=0的根,用3个函数分别求当bχ²-4ac大于0、等于0和小于0时的根并输出结果.从主函数输入a,b,c的值
#include
#include
int f(int a,int b,int c,float* ans)
{
\x09*ans = b * b - 4 * a * c;
\x09if(*ans > 0)
\x09\x09return 2;
\x09else if(*ans == 0)
\x09\x09return 1;
\x09else
\x09\x09return 0;
}
void ff(int a,int b,int c)
{
\x09float t;
\x09float ans,ans2;
\x09if(f(a,b,c,&t) == 2)
\x09{
\x09\x09ans = (b * (-1.0) + sqrt(t)) / (2.0 * a);
\x09\x09ans2 = (b * (-1.0) - sqrt(t)) / (2.0 * a);
\x09\x09printf("有两个解\nx1 = %.2f x2 = %.2f\n",ans,ans2);
\x09}
\x09else if(f(a,b,c,&t) == 1)
\x09{
\x09\x09ans = (b * (-1) + sqrt(t)) / (2.0 * a);
\x09\x09printf("有一个解\nx = %.2f\n",ans);
\x09}
\x09else
\x09\x09printf("无解\n");
}
int main()
{
\x09int a,b,c;
\x09printf("输出a,b,c 三个整数:");
\x09scanf("%d%d%d",&a,&b,&c);
\x09ff(a,b,c);
\x09return 0;
}