
正文
c语言求二元函数 c语言二元运算符
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言求解2元一次方程根,我的全部是无解,求大神看是哪错了。
//问题有点多,不方便指出,更改如下,对应着看吧,调试过的,没问题;
#includestdio.h
#includemath.h //使用开方函数要引入这个头文件
void main()
{
float a,b,c,d,e,x1,x2,x;
//输入最好一个一个输入,一下子输入容易出毛病
printf("请输入a:\n");
scanf("%f",a);
printf("请输入b:\n");
scanf("%f",b);
printf("请输入c:\n");
scanf("%f",c);
d=b*b-4*a*c;
if (d0)
{
e=(float)sqrt(d);//使用开放函数得到的是double类型,比float级别高,要强转为float
x1=(-b+e)/(2*a);
x2=(-b-e)/(2*a);
printf("x1=%.2f,x2=%.2f",x1,x2);//输出保留两位小数
}
else if (d==0)
{
x=-b/(2*a);
printf("x=%.2f",x);
}
else
printf("无解");
printf("\n");
}
相关问答
Q1: 用C语言编写解二元一次方程的程序?
假设的情况:
输入没有错误;
x 总是在前面,y 总是在后面;
不存在某个变量系数为 0 的情况(即总是二元方程);
不考虑小数,其实考虑小数也简单,你可以自己思考如何实现。
首先,使用 scanf() 将回车之前的整个字符串扫描进来,放进 str 变量中;
之后,分别以 x y = 为界,找到它们分隔的三个字符串,即从 str 的第一位开始循环,当遇到 'x' 时,停止并将之前的所有字符存到 x 的系数字符串 xStr 中,再从 x 之后开始寻找,遇到 'y' 时将找到的 'x' 与 'y' 之间的字符存到 y 的系数字符串 yStr 中,再向后从 '=' 开始直到结束,存为结果字符串 sumStr。
这样,c语言求二元函数我们得到的三个字符串都具有相同的格式,一定可以通过某种方式将其转换为一个数字,使用同一个函数就可以做到。
对于某个字符串来说,它可能是以负号 '-' 开头,也可能以正号开头 '+',也可能没有符号,也可能为空,分别考虑:以负号开头的,将其作为负数,以正号开头或没有符号的,将其作为正数;为空的字符串将其视为 1。
截取符号之后,如果没有剩余字符c语言求二元函数了,将其视为 1,再与符号相乘,就是最终结果。
如果还有剩余,那么之后的字符都是纯数字了(不考虑小数),从字符串的最后一位往前开始循环,下标记为 i(从0开始一直到最前面的数字位数),每一位字符记为 ch,则 n=(int)(ch-'0') 就是当前字符所代表的数字,用 n*pow(10, i) 就得到了当前数字的实际值,把所有的乘积都加起来,就得到了总的系数的绝对值,再乘以符号,就得到了系数值。
实现了这个部分之后,假设的情况也可以一一实现了,无非就是标记归属的问题。我没有贴代码是因为我看到你问的问题非常认真,我希望你可以通过我的描述自己去实现它。这里用到了一些字符串相关的函数,例如 strlen(str) 可以获得 str 字符串的长度,strncpy(dest, src, 3) 可以将 src 字符串的前三位拷贝到 dest 字符串中,strncpy(dest, src+3, 3) 可以将 src 字符串的 4~7 位拷贝到 dest 字符串中。
Q2: C语言编程:怎么让编写的程序理解用户给出的函数解析式,并绘制出相应的函数图像?
挺有意思的问题c语言求二元函数,简单谈一下看法
将c语言求二元函数你的需求分成两部分,一是让程序自行解析用户输入的函数解析式,二是绘制函数图像。
首先,关于第一个功能,最直接的思路就是字符串解析,按照数学知识定义不同的运算符号,按照使用习惯定义常用的变量和常量的符号字母,然后据此规则解析输入的字符串,再根据解析结果确定函数中基本运算的次数及运算顺序,最后将整个操作流程以一定形式存储起来即可。
例如,对于y=log(x^2+x),包含三次基本运算,第一步是x^2,第二步是上一步的结果+x,第三步是上一步的结果求对数。注意到log有定义域的限制,这也是要在程序中实现的。
然后,对于第二个功能,根据给定函数绘制图像并不难,对于一元和二元函数来说很容易实现,难点在于多元函数应如何绘制直观易懂的函数图像?不过这一点超出编程语言的范畴了,而且二元函数可以满足大部分应用场景了。
绘制函数图像的程序只需在定义域上按指定的步长求出不同自变量对应的函数值,然后将点连成线,即可绘制出函数图像。例如对于logx,定义域为x0。假设步长为0.1,则可求出0.1,0.2,0.3,...,99.9,100.0的函数值,然后绘制出点,再连点成线,即可得到函数图像。
另外,这里还有很多细节没有讨论,例如输入数据是字符串还是图像;是否可以用其c语言求二元函数他方法解析输入,例如神经网络。这些就很复杂了,不再深入。
回答中可能有考虑不周的地方,希望上述内容对你有参考意义
Q3: 如何用C语言解二元一次方程组
设计思路如下c语言求二元函数:
1、问题描述:
给定一个二元一次方程组c语言求二元函数,形如:
a * x + b * y = c;
d * x + e * y = f;
x,y代表未知数,a, b, c, d, e, f为参数。
求解x,y。
2、数据规模和约定:
0 = a, b, c, d, e, f = 2147483647。
3、设计思路:
二元一次方程组是由两个含有两个未知数c语言求二元函数的方程组成c语言求二元函数的,要求解,就要把二元转化为一元。由二元一次方程组c语言求二元函数的解法思想知,要把二元转化为一元.
实现的功能代码如下:
扩展资料:
C语言解求二元一次方程:(顺序消元法)
“消元”是解二元一次方程的基本思路。所谓“消元”就是减少未知数的个数,使多元方程最终转化为一元方程再解出未知数。这种将方程组中的未知数个数由多化少,逐一解决的想法,叫做消元思想。
实现代码如下:
因为在求解过程中只有数之间的运算,而没有整个式子的运算,因此这种方法被广泛地用于计算机中。
Q4: C语言写一个二元一次函数算出多个x值,y是有规律的变化。
#include stdio.h
int main(void)
{
double x = 0;
double y = 0;
const double t = 0.005;
for(int i = 0; i = 230; ++i)
{
y = 9 + t * i;
x = (y - 10.086) / ((-2 / 10000000) - 0.00053);
printf("y%d = %lf, x = %lf\n",i,y,x);
}
return 0;
}
关于c语言求二元函数和c语言二元运算符的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







