① c语言怎么解方程
基本思路就是迭代 一个变量在你的定义域内以一定的小间隔进行连续取值
如果方程左边和右边的值之间的差距接近于0 (根据你的精度要求具体选定判断条件)
比如:
|方程左边- 方程右边|<0.00001
你就认为此时的自变量取值为一个解
还有的办法就是数学办法了 比如二元一次方程直接就有公式的 套进去进行了
② C语言解方程(百鸡问题)
不输出好像就不是我的错了,我没改你的程序,可能是你写的问题,不输出也就是if没有执行呗,没有符合条件的就不会输出啊
问题:1.我想是不是你的输入E之后,F就不让输入了呢? 这个你需要加一个flushall();(我下面改的加了) 具体为什么。。。我也解释不清楚,呵呵,你网上查查它的作用吧
2.不是说你的break不能用,只是你的if后多了个";"
有不对的你再说
#include <stdio.h>
void main()
{
int a,b,c, E,F;
int x,y,z;
printf("please input a,b,c:");
scanf("%d,%d,%d",&a,&b,&c);
printf("E:");
scanf("%d",&E);
//加这个,好像是除去多余的回车
flushall();
printf("F:");
scanf("%d",&F);
a=F/a;
b=F/b;
c=F/c;
for(x=1;x<a;x++)
for(y=1;y<b;y++)
for(z=1;z<c;z++)
if((x+y+z==E)&&(a*x+b*y+c*z==F))//你这里多了个分号
{
printf("x=%d,y=%d,z=%d\n",x,y,z);
break;
}
}
③ c语言解方程
函数名写错了,是main不是mian
④ c语言解一元一次方程
确认输入过程中输入的逗号为英文半角字符,不是中文逗号
⑤ 如何用C语言解二元一次方程组
设计思路如下:
1、问题描述:
给定一个二元一次方程组,形如:
a * x + b * y = c;
d * x + e * y = f;
x,y代表未知数,a, b, c, d, e, f为参数。
求解x,y。
2、数据规模和约定:
0 <= a, b, c, d, e, f <= 2147483647。
3、设计思路:
二元一次方程组是由两个含有两个未知数的方程组成的,要求解,就要把二元转化为一元。由二元一次方程组的解法思想知,要把二元转化为一元.
实现的功能代码如下:
因为在求解过程中只有数之间的运算,而没有整个式子的运算,因此这种方法被广泛地用于计算机中。
⑥ 如何用C语言程序解方程
上课时编的,测试过可用。/* Note:Your choice is C IDE */
#include "stdio.h"
#include <math.h>
void main()
{
int a,b,c,d,e;
e=1;
while (e)
{printf("求一个一元二次方程的根");
printf("ax^2+bx+c=0\n");
printf("请输入a=");
scanf("%d",&a);
if(a==0)
{
break;
}printf("请输入b=");
scanf("%d",&b);
printf("请输入c=");
scanf("%d",&c);
d=b*b-4*a*c;
if(d<0)
{
printf("无实数解\n");
}
else if(d==0)
{
printf("只有一个根为:%f\n",-b/(2.0*a));
}
else
{printf("有两个根为:%f%f\n",(-b+sqrt(e))/(2.0*a),(-b-sqrt(e))/(2.0*a));
}}
}
⑦ c语言编程~ 解方程
参照(《c程序设计(第三版)》谭浩强
着)P130
习题6.12
用牛顿迭代法求下面方程在1.5附近的根:
2x^3-4x^2+3x-6=0
答案如下:
#include
"stdio.h"
#include
void
main()
{
double
f(double
x);
double
x1=-10.0,x2=10.0,xx;
while(1)
{
xx=(x1+x2)/2;
if(fabs(f(xx)-0)<1e-5)break;
if(f(xx)>0)x2=xx;
if(f(xx)<0)x1=xx;
}
printf("one
foot
of
x
is
%f\n",xx);
}
double
f(double
x)
{
return
(2*x*x*x-4*x*x+3*x-6);
}
⑧ C语言 写一个解方程的程序
#include <stdio.h>
#include <math.h>
double x1,x2,p;
float file1(float a,float b)
{
x1=(-b+sqrt(p))/2*a;
x2=(-b-sqrt(p))/2*a;
return 0;
}
float file2(float a,float b)
{
x1=x2=(-b+sqrt(p))/2*a;
return 0;
}
void main()
{
float a,b,c;
printf("请依次输入方程的三个系数:\n");
scanf("%f%f%f",&a,&b,&c);
p=b*b-4*a*c;
printf("方程是:%.1f*x*x + %.1f*x + %.1f = 0\n",a,b,c);
if(p>0)
{
file1(a,b);
printf("X1=%f\tX2=%f\n",x1,x2);
}
else if(p==0)
{
file2(a,b);
printf("X1=%f\tX2=%f\n",x1,x2);
}
else printf("方程无解");
}
⑨ 根据郝斌C语言视频学的解简单一元二次方程的代码总是敲错,求大神帮忙看看
#include<stdio.h>
#include<math.h>
intmain(void)
{
inta=1;
intb=2;
intc=2;
doublex1;
doublex2;
doubledelta;
delta=(b*b-4*a*c);
if(delta>0)
{
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);//delta写错了
printf("此函数有两个解,x1=%f,x2=%f",x1,x2);//浮点数用%f
}
elseif(delta==0)
{
x1=(-b)/(2*a);
x2=x1;
printf("此函数有唯一解,x1=%f",x1,x2);//浮点数用%f
}
if(delta<0)
{
printf("此函数无解");
}
return0;
}