① 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;
}