c語言一元二次方程編程是#include?iostream 。#include?cmath。using?namespace?std。int?main()。{float?a,b,c;float?x1,x2; cinabc;float?dlt=b*b-4*a*c;if(dlt=0){x1=-b/2/a+sqrt(dlt)。/2/ax2=-b/2/a-sqrt(dlt)/2/a。
站在用戶的角度思考問題,與客戶深入溝通,找到下陸網(wǎng)站設(shè)計(jì)與下陸網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋下陸地區(qū)。
形如x=p或(nx+m)=p(p≥0)的一元二次方程可采用直接開平方的方法解一元二次方程.如果方程化成x2=p的形式,那么可得x=±p;(x2=p,x=±根號(hào)p)如果方程能化成(nx+m)=p(p≥0)的形式,那么nx+m=±p。
簡(jiǎn)潔的語言:
C語言包含的各種控制語句僅有9種,關(guān)鍵字也只有32個(gè),程序的編寫要求不嚴(yán)格且以小寫字母為主,對(duì)許多不必要的部分進(jìn)行了精簡(jiǎn)。
實(shí)際上,語句構(gòu)成與硬件有關(guān)聯(lián)的較少,且C語言本身不提供與硬件相關(guān)的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統(tǒng)所支持的各類庫進(jìn)行編程,故c語言擁有非常簡(jiǎn)潔的編譯系統(tǒng)。
提供的控制語句具有結(jié)構(gòu)化特征,如for語句、if...else語句和switch語句等??梢杂糜趯?shí)現(xiàn)函數(shù)的邏輯控制,方便面向過程的程序設(shè)計(jì)。
#include?"stdio.h"
void?hanshu(int?a,int?b,int?c){
int?x,y,z;
z=b*b-4*a*c;
if(a==0)
printf("該方程不是一元二次方程");
else?if(a!=0z0)? ? ? ? //?這里不需要在設(shè)置a!=0這個(gè)條件
printf("該一元二次方程無實(shí)數(shù)解");
else?if(a=!0z=0)? ? ? ? //?同樣不需要設(shè)置a!=0這個(gè)條件
{? ? ? ? //?如果一個(gè)分支中有多條語句,一定要用{}
printf("該一元二次方程有兩個(gè)相同的實(shí)數(shù)解");
x=(z-b)/2a;
y=x;
}
else
printf("該一元二次方程有兩個(gè)不同的實(shí)數(shù)解");
x=(z-b)/2a;
y=(b*(-1)+z*(-1))/2a;
return?x,y;? ? ? ? //?return?只能返回一個(gè)值,這個(gè)語句的結(jié)果是返回y的值,具體請(qǐng)看逗號(hào)表達(dá)式
}? ? ? ? //?缺少}
void?main()
{
int?a,b,c;
scanf("%d?%d?%d",a,b,c);? ? ? ? //在使用變量之前要先定義
printf("%d?%d",hanshu(x),hanshu(y));? ? ? ? //?你定義的hanshu(int?a,int?b,?int?c)有三個(gè)int類型的參數(shù),()中放置的是向函數(shù)傳遞的參數(shù)?。?!
}
你可以在函數(shù)hanshu()中直接打印出結(jié)果而不是返回出來,因?yàn)橐粋€(gè)函數(shù)只能返回一個(gè)值!
如下:
#include?stdio.h
void?hanshu(dobule?a,?double?b,?double?c)
? {
? double?x,y,z;
? z=b*b-4*a*c;
? if(a==0)
? ? ? ? ? printf("該方程不是一元二次方程");
? else?if(z0)
? ? ? ? ? printf("該一元二次方程無實(shí)數(shù)解");
? else?if(z=0)
? {
? ? ? ? ? x=(z-b)/2a;
? ? ? ? ? y=x;
? ? ? ? ? printf("該一元二次方程有兩個(gè)相同的實(shí)數(shù)解:?%lf?%lf",?x,?y);
? }
? else
? {
? ? ? ? ? ? ? ? x=(z-b)/2a;
? ? ? ? ? ? ? ? y=(b*(-1)+z*(-1))/2a;
? ? ? ? ? ? ? ?printf("該一元二次方程有兩個(gè)不同的實(shí)數(shù)解:?%lf?%lf",?x,?y);
? }
}
int?main(void)
{
? double?a,b,c;
? scanf("%lf?%lf?%lf",a,b,c);
? hanshu(a,b,c);
? ? ? ? ? return?0;
}
如果你想在主函數(shù)main()中使用計(jì)算結(jié)果,可以利用指針!
/*
供參考!
*/
# include stdio.h
# include math.h
void calcu(double a,double b,double c);
int main(void)
{
double a, b, c;
char ch;
do
{
printf("請(qǐng)輸入一元二次方程的三個(gè)系數(shù):\n");
printf("a=\t");
scanf("%lf", a);
printf("b=\t");
scanf("%lf", b);
printf("c=\t");
scanf("%lf", c);
calcu(a,b,c);
printf("繼續(xù)(Y/y),輸入其他退出: ");
scanf(" %c", ch);
printf("\n");
} while ('y'==ch || 'Y'==ch);
printf("成功退出!\n");
return 0;
}
void calcu(double a,double b,double c)
{
double delta;
double x1, x2;
delta = b*b - 4*a*c;
if (delta 0)
{
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
printf("有兩個(gè)解,x1 = %lf, x2 = %lf\n", x1, x2);
}
else if (0 == delta)
{
x1 = x2 = (-b) / (2*a);
printf("有唯一解,x1 = x2 = %lf\n", x1, x2);
}
else
{
printf("無實(shí)數(shù)解!\n");
}
}
/*
在c++6.0中的運(yùn)行結(jié)果是:
-------------------------
請(qǐng)輸入一元二次方程的三個(gè)系數(shù):
a= 1
b= -3
c= 2
有兩個(gè)解,x1 = 2.000000, x2 = 1.000000
繼續(xù)(Y/y),輸入其他退出: y
請(qǐng)輸入一元二次方程的三個(gè)系數(shù):
a= 1
b= 1
c= 1
無實(shí)數(shù)解!
繼續(xù)(Y/y),輸入其他退出: y
請(qǐng)輸入一元二次方程的三個(gè)系數(shù):
a= 1
b= -2
c= 1
有唯一解,x1 = x2 = 1.000000
繼續(xù)(Y/y),輸入其他退出: n
成功退出!
--------------------------------
*/
當(dāng)前文章:c語言求1元2次函數(shù) c語言計(jì)算一元二次函數(shù)的值
分享網(wǎng)址:http://jinyejixie.com/article46/dddhieg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、云服務(wù)器、網(wǎng)站營(yíng)銷、網(wǎng)站建設(shè)、ChatGPT、關(guān)鍵詞優(yōu)化
聲明:本網(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)