c语言无实根
① c语言求一元二次方程无实根
b^2改成b*b。C语言的^是按位异或运算,不是求平方。
② C语言中求方程的根
如图:
③ c语言中,无实根怎么表示
首先在 main()函数 上边加个#include "math.h" 因为开根号属于 数学函数里边的函数,要使用根号就要加上#inculde "math.h",
然后在你要开根号的数的前边加个 sqrt,就可以了
例如
#inculde "math.h"
main()
{ float a,b;
printf("please input a nuberm:");
scanf("%f",&a);
b=sqrt(a);
printf("%f\n",b);
}这个程序就是 让 用户输入个数字,然后输出原数值的开根号后的结果
④ C语言编程“一元二次方程求解问题”,为啥总是显示“无实根”😭
scanf("%lf,%lf,%lf",&a,&b,&c);
double类型对应格式说明符%lf
⑤ C语言 求方程aX^2+bX+c=0解,其中a.b.c由键盘输入。若方程无实根,输出没有实数根,否则输出实根
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c;
printf("input a,b,c:");
scanf("%f%f%f",&a,&b,&c);
if (b*b-4*a*c>=0)
{
if (b*b-4*a*c)\
printf("x1=%.2f,x2=%.2f",(-b+sqrt(b*b-4*a*c))/(2*a),(-b-sqrt(b*b-4*a*c))/(2*a));
else
printf("x=%.2f",(-b+sqrt(b*b-4*a*c))/(2*a));
}
else
printf("\n无实数根\n");
}
⑥ C语言问题 求一元二次方程的解· 为什么我的程序运行时一直有问题啊,只会出现没实根的结果
#include<stdio.h>
#include<math.h>
float x1,x2,tell,p,q;
void main()
{void bigger(float x,float y); //void类型
void equal(float x,float y);
void smaller(float x,float y);
float a,b,c;
printf("input a,b,c:");
scanf("%f%f%f",&a,&b,&c); //这里不要用逗号
tell=b*b-4*a*c;
printf("The root is:\n");
if(tell>0)
{
bigger(a,b);
printf("x1=%f x2=%f",x1,x2);
}
else if(tell==0)
{
equal(a,b);
printf("x1=%f x2=%f",x1,x2);
}
else if(tell<0)
{
smaller(a,b); //如果是虚数根,函数里已经打印了,不要再打印
}
}
void bigger(float x,float y)
{
x1=(-y+sqrt(tell))/(2*x);
x2=(-y-sqrt(tell))/(2*x);
}
void equal(float x,float y)
{
x1=x2=(-y)/(2*x);
}
void smaller(float x,float y)
{
p=-y/(2*x);
q=sqrt(-tell)/(2*x);
printf("x1=%f+%fi x2=%f-%fi\n",p,q,p,q);
}
⑦ c语言 总是出现“方程没有实根”
scanf("%f%f%f",&a,&b,&c);修改为
scanf("%lf%lf%lf",&a,&b,&c);
%lf是读取double的
⑧ C语言关于求方程根的问题
#include <stdio.h>
#include<math.h>
int main(){
int a,b,c;
float s,t,r,x1,x2;
printf("please input a b c:"); // 输入格式a b c 之间无逗号,这里提示 也不要写逗号
scanf("%d%d%d",&a,&b,&c);
// a==0 和 b==0 的情况处理
if (a==0) {
if (b==0) {printf("no result\n"); return 0;}
x1= -c / (float) b;
printf("x1=%f\n",x1);
return 0;
};
t=b*b-4*a*c;
if(t<0)
printf("无实根!\n");
else {
s= (float) b / (-2*a); // 不能整型除以整型,要加 (float)
r= (sqrt(t)) / (2*a);
x1=s+r; // 用分号不用逗号是好习惯
x2=s-r;
printf("x1=%f\tx2=%f\n",x1,x2); // 注意格式 %f 不是 %d
};
return 0;
}