在c语言中,如果直接在公式中写出i,会遇到报错情况,原因是因为,c语言会认为i在式中为一个变量,且是一个之前未定义的变量
于是,可以采用一种方式巧妙的回避这样的问题
即将实部和虚部分开输出
举个例子,在求ax2+bx+c=0的解时,会遇到b2-4ac<0的情况,则需要用到i
那么将数学公式直接输入
x1=(-b+sqrt(-b*b+4*a*c)i)/(2*a);
x2=(-b-sqrt(-b*b+4*a*c)i)/(2*a);
则会出现这样的报错信息
此时如果采用分开表示的方式来做,就可以巧妙地回避这样的问题
t=sqrt(4*a*c-b*b)/(2*a);
printf("The roots of the equation are %.2f+-i%.2f.",-b/(2*a),t);
共有条评论 网友评论