我的程序有什么问题?陷入计算循环或函数调用失败?
What's wrong with my program? Stuck in calculation loop or failed function call?
这是我的程序。我不明白这有什么问题。在我提供输入后,什么也没有发生。我猜测程序卡在了计算循环中,或者我无法在循环中调用事实函数。关于问题出在哪里的想法?
#include<iostream>
#include<math.h>
using namespace std;
int fact(int a)
{
int f=0;
for(int i=1; i<=a;i++)
f=f*i;
}
main()
{
double x,temp1,temp2,sine;
int p,n;
temp1=temp2=0;
cout<<"Enter the value of x: ";
cin>>x;
cout<<"\nEnter the length of series: ";
cin>>n;
if(n%2==0)
{
for(p=1;p<=n-1;p+4)
{
temp1=temp1+(pow(x,p)/fact(p));
}
for(p=3;p<=n-1;p+4)
{
temp2=(temp2+pow(x,p)/fact(p))*(-1);
}
}
else
{
for(p=1;p<=n;p+4)
{
temp1=temp1+(pow(x,p)/fact(p));
}
for(p=3;p<=n;p+4)
{
temp2=-(temp2+pow(x,p)/fact(p));
}
}
sine=temp1+temp2;
cout<<"\nsinx= "<<sine;
}
检查这个
int fact(int a)
{
int f=1;
for(int i=1; i<=a;i++)
f=f*i;
}
p+4
在 for 循环的递增部分做什么?此外,您没有从 int fact()
.
返回任何值
这是我的程序。我不明白这有什么问题。在我提供输入后,什么也没有发生。我猜测程序卡在了计算循环中,或者我无法在循环中调用事实函数。关于问题出在哪里的想法?
#include<iostream>
#include<math.h>
using namespace std;
int fact(int a)
{
int f=0;
for(int i=1; i<=a;i++)
f=f*i;
}
main()
{
double x,temp1,temp2,sine;
int p,n;
temp1=temp2=0;
cout<<"Enter the value of x: ";
cin>>x;
cout<<"\nEnter the length of series: ";
cin>>n;
if(n%2==0)
{
for(p=1;p<=n-1;p+4)
{
temp1=temp1+(pow(x,p)/fact(p));
}
for(p=3;p<=n-1;p+4)
{
temp2=(temp2+pow(x,p)/fact(p))*(-1);
}
}
else
{
for(p=1;p<=n;p+4)
{
temp1=temp1+(pow(x,p)/fact(p));
}
for(p=3;p<=n;p+4)
{
temp2=-(temp2+pow(x,p)/fact(p));
}
}
sine=temp1+temp2;
cout<<"\nsinx= "<<sine;
}
检查这个
int fact(int a)
{
int f=1;
for(int i=1; i<=a;i++)
f=f*i;
}
p+4
在 for 循环的递增部分做什么?此外,您没有从 int fact()
.