C语言中表达n次方可以用pow函数。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、雅安服务器托管、营销软件、网站建设、赣榆网站维护、网站推广。
函数原型:double pow(double x, double y)
功 能:计算x^y的值
返 回 值:计算结果
举例:
double a;a = pow(3.14, 2); // 计算3.14的平方,并将结果保存在变量a中
注:使用pow函数必须将头文件#includemath.h包含进源文件中
1、C语言中要编写sin函数,实质上要利用sin的泰勒公式,然后根据泰勒公式,将其中的每一项进行分解,最后用循环,累加计算出最终结果。
2、下面用for循环实现sin的算法,程序代码如下:
#includestdio.h
#includemath.h
void main()
{
int i;
float x,sum,a,b; //sum代表和,a为分子,b为分母
char s;
printf("please input x");
scanf("%f",x);
s=1;
sum=0;
a=x; //分母赋初值
b=1; //分子赋初值
for(i=1;a/b=1e-6;i++)
{
sum=sum+s*a/b; //累加一项
a=a*x*x; //求下一项分子
b=b*2*i*(2*i+1); //求下一项分母
s*=-1;
}
printf("sum=%f\n",sum);
}
3、 关于上述程序的几点说明:上述程序的计算结果精确到小数点后六位;上述程序运用了sin的泰勒展开式 sin x=x-x^3/3!+x^5/5! ...... ,程序中将sin泰勒公式中的每一项拆成了分子,分母以及每一项前的符号这三项,以便于每一项的累加。
是不是少了一个乘号??
sqrt(A)(cos(m/3)应该是 sqrt(A)*(cos(m/3)
楼主的二元一次方程求解程序大体对的,而且很不错,只有两个小错误,鄙人粗浅修改建议如下:
#includestdio.h
#includemath.h
int
main()
{
double
a,b,c,x;
scanf("%lf%lf%lf",a,b,c);
x=b*b-4*a*c;
if(x=0)
{
if(x0)
printf("x1=%.2lf\nx2=%.2lf",(-b+sqrt(x))/(2*a),(-b-sqrt(x))/(2*a));
/*
将句中的2*a改为(2*a),就是加个括号就好了,否则就是前面整体乘a
*/
if(x==0)
/*
将
x=0
改为
x==0
一个是赋值语句,后面一个是比较语句,别混淆咯,呵呵
*/
printf("x1=x2=%.2lf",(-b+sqrt(x))/(2*a));
}
else
printf("No
answer!");
return
0;
}
不知道是否合适,楼主随便看看吧。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款