扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
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。
站在用户的角度思考问题,与客户深入沟通,找到下陆网站设计与下陆网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、网站制作、企业官网、英文网站、手机端网站、网站推广、域名与空间、雅安服务器托管、企业邮箱。业务覆盖下陆地区。
形如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语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
#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) // 这里不需要在设置a!=0这个条件
printf("该一元二次方程无实数解");
else if(a=!0z=0) // 同样不需要设置a!=0这个条件
{ // 如果一个分支中有多条语句,一定要用{}
printf("该一元二次方程有两个相同的实数解");
x=(z-b)/2a;
y=x;
}
else
printf("该一元二次方程有两个不同的实数解");
x=(z-b)/2a;
y=(b*(-1)+z*(-1))/2a;
return x,y; // return 只能返回一个值,这个语句的结果是返回y的值,具体请看逗号表达式
} // 缺少}
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)有三个int类型的参数,()中放置的是向函数传递的参数!!!
}
你可以在函数hanshu()中直接打印出结果而不是返回出来,因为一个函数只能返回一个值!
如下:
#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("该一元二次方程无实数解");
else if(z=0)
{
x=(z-b)/2a;
y=x;
printf("该一元二次方程有两个相同的实数解: %lf %lf", x, y);
}
else
{
x=(z-b)/2a;
y=(b*(-1)+z*(-1))/2a;
printf("该一元二次方程有两个不同的实数解: %lf %lf", x, y);
}
}
int main(void)
{
double a,b,c;
scanf("%lf %lf %lf",a,b,c);
hanshu(a,b,c);
return 0;
}
如果你想在主函数main()中使用计算结果,可以利用指针!
/*
供参考!
*/
# 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("请输入一元二次方程的三个系数:\n");
printf("a=\t");
scanf("%lf", a);
printf("b=\t");
scanf("%lf", b);
printf("c=\t");
scanf("%lf", c);
calcu(a,b,c);
printf("继续(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("有两个解,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("无实数解!\n");
}
}
/*
在c++6.0中的运行结果是:
-------------------------
请输入一元二次方程的三个系数:
a= 1
b= -3
c= 2
有两个解,x1 = 2.000000, x2 = 1.000000
继续(Y/y),输入其他退出: y
请输入一元二次方程的三个系数:
a= 1
b= 1
c= 1
无实数解!
继续(Y/y),输入其他退出: y
请输入一元二次方程的三个系数:
a= 1
b= -2
c= 1
有唯一解,x1 = x2 = 1.000000
继续(Y/y),输入其他退出: n
成功退出!
--------------------------------
*/
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流