十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#include "stdio.h"
成都创新互联公司是一家集网站建设,吴中企业网站建设,吴中品牌网站建设,网站定制,吴中网站建设报价,网络营销,网络优化,吴中网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
#include "math.h"
/*求一元二次方程ax*x+bx+c=0的解*/
main()
{
float a,b,c,d,e,f,k,n,m;
printf("请输入X1的值:");
scanf("%f",a);
printf("请输入Y1的值:");
scanf("%f",b);
printf("请输入X2的值:");
scanf("%f",c);
printf("请输入Y2的值:");
scanf("%f",d);
printf("请输入X3的值:");
scanf("%f",e);
printf("请输入Y3的值:");
scanf("%f",f);
k=(a*c*f*(c-a)+b*c*e*(e-c)+a*d*e*(a+e))/(e*e*(c-a)+a*a*(e-c)+c*c*(a-e));
n=(a*a*(k-d) -c*c*(k-d))/(c*c*a-a*a*c);
m=(b-n*a-k)/(a*a);
{
printf("k=%f\n",k);
printf("n=%f\n",n);
printf("m=%f\n",m);
printf("该二次函数解析式为:y=%fx²+%fx+%f\n",k,n,m);
}
}
#includestdio.h
#includestdlib.h
int main()
{
float k,b,x1,y1,x2,y2;
printf("请按照x1,y1,x2,y2的顺序依次输入\n");
scanf("%f,%f,%f,%f",x1,y1,x2,y2);
b=(y2-y1)/(x2-x1);
k=(y1-b)/x1;
printf("y=%fx+%f\n",k,b);
return 0;
}
挺有意思的问题,简单谈一下看法
将你的需求分成两部分,一是让程序自行解析用户输入的函数解析式,二是绘制函数图像。
首先,关于第一个功能,最直接的思路就是字符串解析,按照数学知识定义不同的运算符号,按照使用习惯定义常用的变量和常量的符号字母,然后据此规则解析输入的字符串,再根据解析结果确定函数中基本运算的次数及运算顺序,最后将整个操作流程以一定形式存储起来即可。
例如,对于y=log(x^2+x),包含三次基本运算,第一步是x^2,第二步是上一步的结果+x,第三步是上一步的结果求对数。注意到log有定义域的限制,这也是要在程序中实现的。
然后,对于第二个功能,根据给定函数绘制图像并不难,对于一元和二元函数来说很容易实现,难点在于多元函数应如何绘制直观易懂的函数图像?不过这一点超出编程语言的范畴了,而且二元函数可以满足大部分应用场景了。
绘制函数图像的程序只需在定义域上按指定的步长求出不同自变量对应的函数值,然后将点连成线,即可绘制出函数图像。例如对于logx,定义域为x0。假设步长为0.1,则可求出0.1,0.2,0.3,...,99.9,100.0的函数值,然后绘制出点,再连点成线,即可得到函数图像。
另外,这里还有很多细节没有讨论,例如输入数据是字符串还是图像;是否可以用其他方法解析输入,例如神经网络。这些就很复杂了,不再深入。
回答中可能有考虑不周的地方,希望上述内容对你有参考意义