#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("程序运行结束 谢谢使用!");
}