C语言编程交流电压有效值

Python011

C语言编程交流电压有效值,第1张

若用U1、U分别为有效值,由于P1=P/2,即U1(平方)/RL=U(平方)/2RL。由此解得Ul=(根号1/2)U≈0.707。即半波整流输出电压有效值是原交流电压有效值的0.707倍。

#include <stdio.h>

#include <math.h>

int main(void)

{

double a,b,c,disc,x1,x2,imagpart,realpart,m,n

printf("please input a,b,c(a!=0):\n")

scanf("%lf%lf%lf",&a,&b,&c)

disc = b * b - 4 * a * c

m = - b / (2 * a)

n = sqrt(disc) / (2 * a)

if (fabs(disc) <1e-8)

{

x1 = x2 = m //有两个相等实根

printf("x1=x2=%8.2f\n",x1)

}

else

if (disc >0)

{

x1 = m + n,x2 = m - n//有两个不等实根

printf("x1=%8.2f\t,x2=%8.2f\n",x1,x2)

}

else

{

realpart = m

imagpart = sqrt(-disc) / (2 * a) //有两个共轭复根

printf("x1=%8.2f+%.2fi\t,x2=%8.2f-%.2fi\n",realpart,imagpart,realpart,imagpart)

}

return 0

}

定义的时候不能控制有效值位数,你可以尝试在计算完成后对结果c

进行处理,控制c的精度

如下程序可以实现:

但是必须把c定义为

double

否则有误差:

float

a

=

10,

b

=

3

float

c

char

t[4]

float

result

//double

result

c

=

a

/

b

sprintf(t,"%.2f",c)

//将浮点数转换成字符串

result

=

(float)atof(t)

//result

=

atof(t)//将字符串转化成浮点数