#1 我用C語言寫的第一個程序``特別適合想學C語言的朋友看一看
懷念一下``我用C語言寫的第一個程序``特別適合想學C語言的朋友看一看
很簡單的!
//加載頭文件
#include <math.h>
#include <stdio.h>
main()//開始
{
//定義變量
char go;
float a,b,c;
double pfg,pf;
float x1,x2,ok,ko,vb,vc,t1,t2;
printf(" --------------一元二次計方程算器-------------/n");
printf(" --------------- v 1.0 --------------/n");
printf(" ------------- 作者:SkyBot -----------/n");
printf(" /n");
printf("說明:本程序爲解一元二次計方程的軟件,請先將方程化爲一般 /n");
printf(" 形式,如: /n");
printf(" ax*x+bx+c=0 /n");
do//開始循環
{
//用戶接口
printf("請輸入二次項係數(a):");
scanf("%f",&a);
printf("請輸入一次項係數(b):");
scanf("%f",&b);
printf("請輸常數項(c):");
scanf("%f",&c);
//計算公式
vb=2*a;//計算2a的值
ok=4*a*c;//計算4ac的值
ko=b*b;//計算b平方的值
pf=ko-ok;//計算 b平方-4ac 的值
pfg=sqrt(pf);//計算 根號下b平方-4ac 的值
t1=pfg-b; //計算 -b+根號下b平方-4ac 的值
t2=-b-pfg; //計算 -b-根號下b平方-4ac 的值
//判斷方程是否有實數根
if (pf>0)//如果 b平方-4ac 大於零,方程有二實數根,進行計算
{
printf("/n");
//在屏幕上顯示計算過程
printf("方程: %f*X*X+(%f)+(%f)=0.00000/n/n",a,b,c);
printf("解:設原方程的兩根爲x1、x2/n");
printf(" %f*%f-4*%f*%f=%lf>0.000/n",b,b,a,c,pf);
printf(" X1=-(%f)+(%lf)/(%f)/n",b,pfg,vb);
printf(" X2=-(%f)-(%lf)/(%f)/n",b,pfg,vb);
//計算結果
x1=t1/vb;//求得x1的值
x2=t2/vb;//求得x2的值
printf("原方程的根爲:/n/n");//在屏幕上顯示結果;
printf(" X1= %f X2= %f/n/n",x1,x2);
}else if(pf<0)//如果 b平方-4ac 小於零,方程沒有實數根,不計算
printf("方程沒有實數根!");
else//如果 b平方-4ac 等於零,方程有而相等實數根,進行計算
{
printf("/n");
printf("解:設原方程的兩根爲x1、x2/n");
printf(" %f*X*X+(%f)+(%f)=0.00000/n",a,b,c);
printf(" %f*%f-4*%f*%f=%lf>0.000/n",b,b,a,c,pf);
printf(" X1=-(%f)+(%lf)/(%f)/n",b,pfg,vb);
printf(" X2=-(%f)-(%lf)/(%f)/n",b,pfg,vb);
x1=t1/vb;
x2=t2/vb;
printf("原方程的根爲:/n/n");
printf(" X1=X2= %f/n/n",x1);
}
printf("還要解嗎?(Y/N)");
go=getche();
printf("/n/n");
}while(go=='y'||go=='Y');
printf("程序運行結束 謝謝使用!");
}