一道定义函数C语言题目
已知,使用结构化程序设计的方法编写程序,求s(x)后面的20项的和,x从键盘输入。(当x=1时,s=0.746824)。要求:1、定义函数longfact(longn),...
已知
,使用结构化程序设计的方法编写程序,求s(x)后面的20项的和,x从键盘输入。(当x=1时,s=0.746824)。
要求:
1、定义函数long fact(long n),返回参数n的阶乘
2、定义函数double power(double x,int n),返回参数x的n次方
3、在主函数中调用上述函数计算s的值并输出
这个是写的
#include <stdio.h>
#include <math.h>
long fact(long n);
double power(double x,int n);
int main(){
int i,j,x,s;
printf("请输入x的值:");
s=0;
j=0;
scanf("%d",x);
for(i=1,i<=39,i++){
if (i%2==1){
s+=pow(-1,j)*power(x,i)/(i*fact(j));
j++;
}
else
continue;
}
}
long fact(long n){
int i,s=1;
for(i=1;i<=n;i++)
s*=i;
return s;
}
double power(double x,int n){
double m;
m=pow(x,n);
return m;
}
希望运行后告诉我一个错怎么改。貌似是精度问题 展开
,使用结构化程序设计的方法编写程序,求s(x)后面的20项的和,x从键盘输入。(当x=1时,s=0.746824)。
要求:
1、定义函数long fact(long n),返回参数n的阶乘
2、定义函数double power(double x,int n),返回参数x的n次方
3、在主函数中调用上述函数计算s的值并输出
这个是写的
#include <stdio.h>
#include <math.h>
long fact(long n);
double power(double x,int n);
int main(){
int i,j,x,s;
printf("请输入x的值:");
s=0;
j=0;
scanf("%d",x);
for(i=1,i<=39,i++){
if (i%2==1){
s+=pow(-1,j)*power(x,i)/(i*fact(j));
j++;
}
else
continue;
}
}
long fact(long n){
int i,s=1;
for(i=1;i<=n;i++)
s*=i;
return s;
}
double power(double x,int n){
double m;
m=pow(x,n);
return m;
}
希望运行后告诉我一个错怎么改。貌似是精度问题 展开
2个回答
展开全部
#include <stdio.h>
#include <math.h>
long fact(long n);
double power(double x,int n);
int main(){
int i,j,x;//
double s;//
printf("请输入x的值:");
s=0;
j=0;
scanf("%d",&x);//
for(i=1;i<=39;i++){//
if (i%2==1){
s+=pow(-1,j)*power(x,i)/(i*fact(j));
j++;
}
else
continue;
}
printf("%lf",s);//
}
long fact(long n){
int i,s=1;
for(i=1;i<=n;i++)
s*=i;
return s;
}
double power(double x,int n){
double m;
m=pow(x,n);
return m;
}
#include <math.h>
long fact(long n);
double power(double x,int n);
int main(){
int i,j,x;//
double s;//
printf("请输入x的值:");
s=0;
j=0;
scanf("%d",&x);//
for(i=1;i<=39;i++){//
if (i%2==1){
s+=pow(-1,j)*power(x,i)/(i*fact(j));
j++;
}
else
continue;
}
printf("%lf",s);//
}
long fact(long n){
int i,s=1;
for(i=1;i<=n;i++)
s*=i;
return s;
}
double power(double x,int n){
double m;
m=pow(x,n);
return m;
}
展开全部
#include <stdio.h>
#include <math.h>
long fact(long n);
double power(double x,int n);
int main(){
int i,j,x,s;
printf("请输入x的值:");
s=0;
j=0;
scanf("%d",x);//错误。。。
for(i=1,i<=39,i++){ //错误。。。
if (i%2==1){
s+=pow(-1,j)*power(x,i)/(i*fact(j));
j++;
}
else
continue;
}
}
long fact(long n){
int i,s=1;
for(i=1;i<=n;i++)
s*=i;
return s;
}
double power(double x,int n){
double m;
m=pow(x,n);
return m;
}
#include <math.h>
long fact(long n);
double power(double x,int n);
int main(){
int i,j,x,s;
printf("请输入x的值:");
s=0;
j=0;
scanf("%d",x);//错误。。。
for(i=1,i<=39,i++){ //错误。。。
if (i%2==1){
s+=pow(-1,j)*power(x,i)/(i*fact(j));
j++;
}
else
continue;
}
}
long fact(long n){
int i,s=1;
for(i=1;i<=n;i++)
s*=i;
return s;
}
double power(double x,int n){
double m;
m=pow(x,n);
return m;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询