用C语言求方程的根你没有考虑a=0的情况 , 我把我写的给你看看,你看看有什么不同吧:
#includestdio.h
#includemath.h
main()
{
int a,b,c;
double DT,x,x1,x2;
scanf("%d %d %d",a,b,c);
DT=b*b-4*a*c;
if((a==0)(b==0))
printf("Input error!\n");
else
{
if(a==0)
{ x=-c/(1.*b);
printf("x=%.6f\n",x);
}
else
【c语言函数求方程的根 c语言 求方程的根】{
if(DT==0)
{x=-b/(2*a);
printf("x1=x2=%.6f\n",x);
}
if(DT0)
{ x1=(-b+sqrt(DT))/(2*a);
x2=(-b-sqrt(DT))/(2*a);
printf("x1=%.6f\nx2=%.6f\n",x1,x2);
}
if((DT0)(b==0))
{DT=-DT;
x1=(sqrt(DT))/(2*a);
x2=(-sqrt(DT))/(2*a);
printf("x1=%.6fi\nx2=%.6fi\n",x1,x2);
}
if((DT0)(b!=0))
{DT=-DT;
x1=-b/(2.*a);
x2=sqrt(1.*DT)/(2*a);
printf("x1=%.6f+%.6fi\nx2=%.6f-%.6fi\n",x1,x2,x1,x2);
}
}
}
return 0;
}
具体的输入输出格式可能不一样,因为不清楚你的要求 , 有疑问可以问我
C语言中求方程的根如图:
C语言是一门通用计算机编程语言 , 应用广泛 。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言 。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性 , 以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台 。
用C语言求方程的根,用3个函数分别求当大于0、等于0和小于0时的根并输出结果 。从主函数中输入abc的值 。给你重写一个你对照看——
#include "stdio.h"
#include "math.h"
void zero(float a,float b){
printf("x1 = %f\n",-b/2/a);
printf("x2 = %f\n",-b/2/a);
}
void one(float a,float b,float d){
printf("x1 = %f\n",(-b+d)/2/a);
printf("x2 = %f\n",(-b-d)/2/a);
}
void two(float a,float b,float d){
printf("x1 = %f%+fi\n",-b/2/a,d/2/a);
printf("x2 = %f%+fi\n",-b/2/a,-d/2/a);
}
int main(int argc,char *argv[]){
float a,b,c,dlt;
printf("Input a, b, c(R: all)...\n");
scanf("%f%f%f",a,b,c);
if((dlt=b*b-4*a*c)==0)
zero(a,b);
else if(dlt0){
one(a,b,sqrt(dlt));
}
else
two(a,b,sqrt(-dlt));
return 0;
}
运行样例:
有问题续问 。
c语言函数求方程的根#includestdio.h
#includestdlib.h
#includemath.h
int main()
{
float a,b,c,x,x1,x2,d;
scanf("%f %f %f",a,b,c);
d=b*b-4*a*c;
if(a==0)
{
if(b==0)
{
if(0==c)
{
printf("等式0!\n");
}
else
{
printf("输入错误!\n");
}
}
else
{
printf("只能构成一元一次方程,x=%.6f\n",0==-(float)c/b ? 0 : -(float)c/b);
}
}
else
{
if(d0)
{
x1=(-b+sqrt(-d))/(2.0*a);
x2=(-b-sqrt(-d))/(2.0*a);
printf("x1=%.6f+%.6fi\nx2=%.6f-%.6fi\n",(-b)/(2.0*a),sqrt(-d)/(2.0*a),(-b)/(2.0*a),sqrt(-d)/(2.0*a));
}
else if(d==0)
{
printf("x1=x2=%.6f\n",(-b)/(2.0*a));
}
else
{
x1=(-b+sqrt(d))/(2.0*a);
x2=(-b-sqrt(d))/(2.0*a);
printf("x1=%.6f\nx2=%.6f\n",x1,x2);
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
C语言从键盘输入求方程根.#includestdio.h
#includemath.h
int roots(float a,float b,float c);
int main(){
int T;
float a,b,c;
printf("T = ");
scanf("%d",T);
推荐阅读
- 手机上怎么做ppt软件,手机上怎么做ppt的软件免费
- 幼儿体育游戏动作标准,幼儿体育活动游戏
- 北京直播技巧男生,男生直播赚钱技巧
- vb.net重构例子 vbnet implements
- 微信视频号朋友点赞了取消,微信视频号点过赞但是取消了朋友会看到你点赞吗
- 英雄联盟570显卡怎么样,5750显卡玩lol
- 如何下载模拟警察游戏,怎么下载警察模拟器手机版
- python函数写二分法 python用二分法求方程的解
- 小程序怎么找流量主,小程序流量主怎么赚钱