當前位置:首頁 » 編程語言 » c語言方程的解

c語言方程的解

發布時間: 2022-12-18 01:09:48

『壹』 c語言解方程

我的編譯正常呀,你的是什麼編譯器呀?
我給你編寫個吧??呵呵
好象找到問題了 scanf("%f%f%f",&a,&b,&c);應改為scanf("%lf%lf%lf",&a,&b,&c);%f對應的是float;%lf對應的才是double

printf("x1=%.2f,x2=%.2f\n",x1,x2);這個也一樣要改下

我編寫的編譯過的正常的哦給你了
#include<stdio.h>
#include<math.h>
main()
{
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
if(0==a&&0>b*b-4*a*c)
puts("沒有實數根");
if(b*b-4*a*c>0)
{
puts("有兩個不相等的實數根");
printf("x1=%lf,X2=%lf",(-b+sqrt(b*b-4*a*c))/2*a,(-b-sqrt(b*b-

4*a*c))/2*a);
}
if(0==b*b-4*a*c)
{
puts("有兩個相等的實數根");
printf("x1=x2=%lf",(-b+sqrt(b*b-4*a*c))/2*a);
}
getch();
}

『貳』 如何用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語言解方程

#include"math.h"
typedefstruct{
double*coef;
intn;
}poly;
doubledfx(poly*p,doublev){
doublet=v;
doubler=0;
double*coef=p->coef;
inti;
r+=coef[1];
for(i=2;i<p->n;i++){
r+=coef[i]*i*t;
t*=v;
}
returnr;
}
doublefx(poly*p,doublev){
doublet=v;
doubler=0;
double*coef=p->coef;
inti;
r+=coef[0];
for(i=1;i<p->n;i++){
r+=coef[i]*t;
t*=v;
}
returnr;
}
doublepolyroot(poly*p,doublex0){
doublex=x0-1;
intn=0;
while(fabs(x-x0)>1e-12&&n++<100){
doubledx0=dfx(p,x0);
x=x0;
if(dx0)
x0-=fx(p,x0)/dx0;
else
x0-=0.1;
printf("inter:%df(%lf)=%lf ",n,x0,fx(p,x0));
}
returnx0;
}


intmain()
{
doublec[4]={-6,3,-4,2};
polyd={c,4};
polyroot(&d,1.5);
return0;
}

『肆』 c語言怎麼解方程

基本思路就是迭代 一個變數在你的定義域內以一定的小間隔進行連續取值
如果方程左邊和右邊的值之間的差距接近於0 (根據你的精度要求具體選定判斷條件)
比如:
|方程左邊- 方程右邊|<0.00001
你就認為此時的自變數取值為一個解

還有的辦法就是數學辦法了 比如二元一次方程直接就有公式的 套進去進行了

『伍』 如何用C語言程序解方程

#include"stdio.h"
#include"math.h"
/*求一元二次方程ax*x+bx+c=0的解*/
main()
{
floata,b,c,x1,x2,d;
printf("請輸入a:");
scanf("%f",&a);
printf("請輸入b:");
scanf("%f",&b);
printf("請輸入c:");
scanf("%f",&c);
d=b*b-4*a*c;
if(d<0)
printf("方程沒有實數解。 ");
if(d==0)
{
x1=(-b)/(2*a);
printf("x1=%f ",x1);
}
if(d>0)
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f ",x1,x2);}
}
請輸入a:12
請輸入b:34
請輸入c:4
x1=-0.122985,x2=-2.710348
Pressanykeytocontinue

『陸』 c語言求 方程的解

#include<stdio.h>
#include<math.h>
return main() //return? main的返回值沒有return類型,可以使用void
{
double a,b,c,d,e,x1,x2;
printf("input the value of a , b, c ");
scanf("%lf,%lf,%lf",&a,&b,&c);
double d=b*b-4*a*c; //上面已經double b了,重復定義,去掉double.
return (a,b,c); //這個什麼意思?return 不能亂用的。刪掉吧
if (d<0) printf("此方程無解");
else double e=sqrt(d); //仍然是重復定義,最上面已經double e了,去掉double
double x1=(-b+e)/(2*a); //去掉double
double x2=(b+e)/(2*a); //去掉double
printf("方程的倆解為: %f,%f\n",x1,x2);
}
另外,else有3個語句,請用花括弧括起來

『柒』 怎樣用c語言求方程的解

#include <stdio.h>
int main()
{
int a,b,i,j;
for(i=0;i<10000;i++)
{
for(j=0;j<10000;j++)
{
if((66*i+127*j)==3967)
{

printf("x=%d\n",i);
b=j;

}
}
}
a=(1200-b)/25;
printf("a=%d\nb=%d\n",a,b);

return 0;
}
運行結果:
x=12
a=47
b=25
根據你的消息修改如下:
66*a+127*b=3967
25*a+b=1200

41*a+126b=2767

程序可以改為:
int main(int argc, char* argv[])
{
int i,j;
for(i=-10000;i<10000;i++)
{
for(j=-10000;j<10000;j++)
{
if((41*i+126*j)==2767)
printf("當a=%d,b=%d時,66*a+127*b=3967和25*a+b==1200兩式成立\n",i,j);

}
}

return 0;
}
無數解:
a>0時b<0
反之a<0時b>0
請明確a,b取值范圍;
以上也只是列舉整數解;

『捌』 C語言,求一元二次方程的解

對於如下的一元二次方程:

ax*x+bx+c=0

設計C語言程序,輸入一元二次方程的三個系數a、b、c,求解出該方程的兩個根,並且允許用戶在程序中多次輸入不同的系數,以求解不同的一元二次方程的解。

編程思路分析:

對於該方程,令delta=b^2-4*a*c,從數學的角度來講,我們需要根據delta的值來判斷該方程的根情況:

當delta>=0時,其兩個根為實數解,分別為(-b+sqrt(delta))/(2*a)和(-b-sqrt(delta))/(2*a);

當delta<0時,其兩個根為復數解,實部皆為-b/(2*a),虛部分別為sqrt(-delta)/(2*a)和-sqrt(-delta)/(2*a)。

其中,sqrt(delta)代表對delta作開根號運算。

在代碼設計中,可定義一個結構體Complex存儲該方程的根,在該結構體中包括實部和虛部兩個變
在程序中,定義兩個Complex類型的根x1和x2,當delta>=0時,兩個根的虛部為0,否則,分別求解兩個根的虛部值。
具體編程如下:

#include"stdio.h"
#include"math.h"
/*求一元二次方程ax*x+bx+c=0的解*/
main()
{floata,b,c,x1,x2,d;
printf("請輸入a:");
scanf("%f",&a);
printf("請輸入b:");
scanf("%f",&b);
printf("請輸入c:");
scanf("%f",&c);
d=b*b-4*a*c;if(d<0)
printf("方程沒有實數解。 ");
if(d==0){x1=(-b)/(2*a);
printf("x1=%f ",x1);}
if(d>0){x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f ",x1,x2);}}
請輸入a:12
請輸入b:34
請輸入c:4
x1=-0.122985,x2=-2.710348
Pressanykeytocontinue

為迭代序列。

『玖』 c語言求一元二次方程的解

c語言一元二次方程編程是#include<iostream> 。#include<cmath>。usingnamespacestd。intmain()。{floata,b,c;floatx1,x2; cin>a>>b>>c;floatdlt=b*b-4*a*c;if(dlt>=0){x1=-b/2/a+sqrt(dlt)。/2/ax2=-b/2/a-sqrt(dlt)/2/a。

形如x=p或(nx+m)=p(p≥0)的一元二次方程可採用直接開平方的方法解一元二次方程.如果方程化成x²=p的形式,那麼可得x=±p;(x²=p,x=±根號p)如果方程能化成(nx+m)=p(p≥0)的形式,那麼nx+m=±p。

簡潔的語言:

C語言包含的各種控制語句僅有9種,關鍵字也只有32個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。

實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。

提供的控制語句具有結構化特徵,如for語句、if...else語句和switch語句等。可以用於實現函數的邏輯控制,方便麵向過程的程序設計。



『拾』 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("方程無解");
}

熱點內容
怎麼把電腦鎖上密碼 發布:2024-05-20 05:19:09 瀏覽:982
安卓為什麼連上wifi後沒有網路 發布:2024-05-20 05:17:50 瀏覽:417
安卓usb在設置哪裡 發布:2024-05-20 05:03:03 瀏覽:185
綏化編程 發布:2024-05-20 04:59:44 瀏覽:989
基本原理和從頭計演算法 發布:2024-05-20 04:50:32 瀏覽:28
配置情況指的是什麼 發布:2024-05-20 04:48:14 瀏覽:495
那個程序用來編譯源文件 發布:2024-05-20 04:46:45 瀏覽:549
小程序需要資料庫嗎 發布:2024-05-20 04:35:14 瀏覽:337
鏈接sqlserver 發布:2024-05-20 04:27:53 瀏覽:209
ftp文件伺服器擴容 發布:2024-05-20 04:22:21 瀏覽:646