鱼C论坛

 找回密码
 立即注册
查看: 900|回复: 4

[已解决],找错 求一元二次方程ax^2+bx+c=0的根。

[复制链接]
发表于 2021-11-25 19:37:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输入多行a,b,c的值,分别输出每一行的解

  1. #include<stdio.h>
  2. #include<math.h>
  3. void fun(int a[][3] ,int n)
  4. {

  5.    float p;
  6.    for(int i=0;i<n;i++)
  7.    {   int a1,b,c;
  8.        a1=a[i][0];  b=a[i][1];  c=a[i][2];
  9.        p=(float)b*b-4*a1*c;                         //一元二次方程方程的判别式
  10.        printf("%d,%d,%d,%.3f   ",a1,b,c,p);
  11.            if(p=0)                                  //从这开始是判别式的三个情况
  12.            printf("x1=x2=%.3f\n",(-b)/2.0*a1);
  13.              else if(p>0)
  14.                          printf("x1=%.3f  x2=%.3f\n",((-b)+sqrt(p))/(4.0*a1),((-b)+sqrt(p))/(4.0*a1));
  15.                            else
  16.                              printf("x1=%.3f+(%.3fi)  x2=%.3f-(%.3fi)\n",-b/(2.0*a1),sqrt(-p)/(2*a1),-b/(2.0*a1),sqrt(-p)/(2*a1));            
  17.    }
  18. }

  19. main()
  20. {
  21.   int a[100][3],n,i,j;
  22.   printf("所需的行数:");   
  23.   scanf("%d",&n);             //输入多少行
  24.   for(i=0;i<n;i++)
  25.     for(j=0;j<3;j++)
  26.        scanf("%d",&a[i][j]);   //输入数组
  27.        fun(a,n);
  28. }



复制代码

结果
  1. 所需的行数:1
  2. 1 4 4
  3. 1,4,4,0.000   x1=-2.000+(-0.000i)  x2=-2.000-(-0.000i)
复制代码


为什么p的值没有呀,大佬们
最佳答案
2021-11-25 19:52:48
  
a[0][0]=1,a[0][1]=4,a[0][2]=4
a1=a[i][0];  b=a[i][1];  c=a[i][2]
a1=1,b=4,c=4

p=(float)b*b-4*a1*c;      
p=4*4-4*1*4
p=16-16
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-25 19:52:48 | 显示全部楼层    本楼为最佳答案   
  
a[0][0]=1,a[0][1]=4,a[0][2]=4
a1=a[i][0];  b=a[i][1];  c=a[i][2]
a1=1,b=4,c=4

p=(float)b*b-4*a1*c;      
p=4*4-4*1*4
p=16-16
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-25 19:58:16 | 显示全部楼层
hujiamiao1990 发表于 2021-11-25 19:52
a[0][0]=1,a[0][1]=4,a[0][2]=4
a1=a[0];  b=a[1];  c=a[2]
a1=1,b=4,c=4

抱歉,我个傻得,那为什么,它循环语句一下子跳到else呀,直接输出虚数根呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-25 20:10:31 | 显示全部楼层
if(p=0)      if(p==0)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-25 20:17:41 | 显示全部楼层

非常感谢您为我这个非常憨的错误花时间!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 09:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表