#includestdio.h

創(chuàng)新互聯(lián)專業(yè)成都網(wǎng)站制作、成都網(wǎng)站建設(shè),集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營(yíng)銷、軟文平臺(tái)等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計(jì)制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
#includestdlib.h
int main()
{
float k,b,x1,y1,x2,y2;
printf("請(qǐng)按照x1,y1,x2,y2的順序依次輸入\n");
scanf("%f,%f,%f,%f",x1,y1,x2,y2);
b=(y2-y1)/(x2-x1);
k=(y1-b)/x1;
printf("y=%fx+%f\n",k,b);
return 0;
}
二元一次方程一般為
ax+by+c=0
dx+ey+f=0
輸入a,b,c,d,e,f這些系數(shù)后,
轉(zhuǎn)化為x=(-by-c)/a,代入,d*(-by-c)/a+ey+f=0
化簡(jiǎn)-b*d*y/a-c*d/a+ey+f=0
(ea-b*d)*y/a=c*d/a-f
y=a*(c*d/a-f)/(ea-b*d)
解出y后,x=(-by-c)/a
代碼實(shí)現(xiàn):
#include
stdio.h
void
main()
{
double
a,b,c,d,e,f,x,y;
scanf("%lf
%lf
%lf
%lf
%lf
%lf",a,b,c,d,e,f);
y
=
a*(c*d/a-f)/(e*a-b*d);
x
=
(-b*y-c)/a;
printf("%lf\n%lf\n",x,y);
}
#include?iostream
int?main()
{
int?a?=?0,b?=?0;
printf("請(qǐng)輸入一次方程的系數(shù)a和b(以逗號(hào)隔開):");
scanf("%d,%d",a,b);
double?c?=?(double)-b?/?a;
printf("一次方程?%dx+%d=0?的根是:x?=?%lf\n",a,b,c);
system("pause");
return?0;
#includestdio.h
#includestring.h
//前面兩個(gè)是庫(kù)函數(shù),第一個(gè)用于輸入輸出,第二個(gè)用于調(diào)用對(duì)字符串的各種操作
//下面是main函數(shù)主體,定義為void類型則最后不需要return返回值,若定義為int則需要返回
void main()
{
char s[20], *p, b[10], ch; //定義了四個(gè)變量,S[20],b[10]是字符串?dāng)?shù)組,P是字符串指針,用
//于指向一個(gè)字符串,ch是字符變量
int i=0, f=0, f1=1; //定義int型的變量,變量作用下面會(huì)說明
int x=0, c=0;
int u=0;
gets(s); // gets()函數(shù)是庫(kù)函數(shù),用于從鍵盤接受你輸入的一串東西,只接受你回車鍵以前
//的內(nèi)容
p=s; //讓指針p 指向 上面gets()函數(shù)接收到的那串字符,就是把那串字符的首地址給p
while(*++p!='\0'); //一個(gè)while循環(huán),由于p只是指向那串字符的首地址,因此循環(huán)的作用是到達(dá)
//那串字符的末尾,'\0'表示一串字符串結(jié)束了,'\0'不是你輸?shù)模且淮?/p>
//符結(jié)束后,系統(tǒng)自動(dòng)添上去的
*p=' '; *(p+1)='\0'; //上面while循環(huán)結(jié)束后p指針已經(jīng)指向字符串的末尾了,現(xiàn)在把字符串的最
//后一位變?yōu)? '(空格),這時(shí)候需要自己給字符串末尾添加結(jié)束標(biāo)志'\0',因
//為你把字符串單個(gè)執(zhí)行系統(tǒng)不會(huì)自動(dòng)給你添了
p=s; //上面p指針已經(jīng)通過while循環(huán)跑到字符串末尾了,因此需要重新賦值下,
//這樣p又一次指向字符串s的開頭
//下面是解一元一次方程的過程,主體還是一個(gè)while循環(huán)
while(*p!='\0') //*p!='\0'是指只要p指針沒指向字符串結(jié)束的位置,就一直循環(huán)
{
if(*p='0'*p='9') { b[i++]=*p; f=1; } //判斷p此時(shí)指向的那個(gè)字符是否屬于0-9的數(shù)字,
//如果是則把p指向的內(nèi)容放在b數(shù)組
//否則執(zhí)行else語句,并讓f=1(f本來為0),注意
//i++使b數(shù)組遞增
else
if(f==1) { //現(xiàn)在是else的部分,說明p指向的那個(gè)字符不是0-9了,而是其他字符
if(*p='a'*p='z') { //上面說到p指向的不是0-9,現(xiàn)在判斷p是否指向a-z的26個(gè)字符,
//其實(shí)這樣寫是有問題的,萬一你輸入大寫字母,結(jié)果會(huì)出錯(cuò),建議改為 if(*p='a'*p='z'||*p='A'*p='Z')
ch=*p; //*p是指p指針指向的那個(gè)字符,注意p指向的是地址,*P代表p地址處存放
//的數(shù)據(jù)
//b數(shù)組中存放的是字符串中的數(shù)字部分,下面的if跟else分別是把char類型的數(shù)字轉(zhuǎn)換為int型
//if是處理負(fù)數(shù)的情況,else處理正數(shù)的情況,如何判斷正負(fù)數(shù)是通過,f1,u的值來看的
if((u==0f1==0)||(u==1f1==1)) {
b[i]='\0';
f=0; i=0; u=0;
x=x+ atoi(b)*(-1); //atoi()是庫(kù)函數(shù),把char類型的數(shù)據(jù)轉(zhuǎn)換為int型
//x=x+ atoi(b)*(-1); 等效于 x+=atoi(b)*(-1);
} // end if((u==0f1==0)||(u==1f1==1))
else {
b[i]='\0';
f=0; i=0; u=0;
x+=atoi(b);
} //end else
} //end if(*p='a'*p='z')
//上面所有操作是在 if(*p='a'*p='z')內(nèi)進(jìn)行的,也就是遇到字母的時(shí)候,
//所以x最后的值存儲(chǔ)的是變量(一元函數(shù)中的那個(gè)要求的值如2x=9中的x)的前綴
//(方程2x=9中2是叫前綴嗎?)
//不對(duì),那個(gè)2叫系數(shù)
else
if((u==0f1==0)||(u==1f1==1)) { b[i]='\0'; f=0; i=0; u=0; c+=atoi(b); }
else { b[i]='\0'; f=0; i=0;u=0; c=c+ atoi(b)*(-1);}
//上面兩句是else中的內(nèi)容,說明遇到的不是字母,因此c不是指系數(shù),而是值,
//(比如2x=9中的9)
} //end if(f==1)
//到此判斷p指向的那個(gè)字符的判斷過程就結(jié)束了,但一次while循環(huán)沒跑完,下面是指當(dāng)遇到為負(fù)
//數(shù)的情況下,應(yīng)該使u=1
//u=1就告訴我們遇到負(fù)數(shù)了,f1是指遇到=該怎么處理
if(*p=='-') u=1;
if(*p=='=') f1=0;
p++;
} //end while
//while循環(huán)到此結(jié)束,此時(shí)已經(jīng)把一個(gè)一元方程化簡(jiǎn)了
//比如輸入 2a+3a+6=12,可以認(rèn)為他已經(jīng)化簡(jiǎn)為 5a=6的形式
//而且系數(shù)5存放在變量x中,值6存放在c中,變量名字a存放在ch中
printf("%c=%d",ch,c/x); //輸出結(jié)果
getch(); //可以不要,在windows平臺(tái)下從控制臺(tái)無回顯地取一個(gè)字符
}
//最后告訴樓主一點(diǎn),這樣寫太繁瑣了,如果樓主用棧來實(shí)現(xiàn),不可實(shí)現(xiàn)多元多次方程求解,而
//且就很簡(jiǎn)單的一個(gè)后綴式來處理
//不用這樣各種if else來回判
//ps: 建文件的時(shí)候一定要寫成c語言的**.c形式,不要寫成c++的**.cpp格式,否則會(huì)報(bào)錯(cuò)
//因?yàn)閍toi(),等函數(shù)在c++中的參數(shù)跟c中不一樣,這樣寫會(huì)報(bào)錯(cuò)
float k,b,x,y;
printf("請(qǐng)輸入k,b:");
scanf("%f%f",k,b);
printf("請(qǐng)輸入x:");
scanf("%f",x);
y=k*x十b;
printf("y=%f\n",y);
文章標(biāo)題:c語言解一次函數(shù)系數(shù) c語言計(jì)算函數(shù)的值例題
網(wǎng)頁路徑:http://chinadenli.net/article34/higjpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、ChatGPT、品牌網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、網(wǎng)站收錄、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)