无限循环在C语言中的不当使用 intpowi(inta,intb) { 如果(bdouble sum=0; 对于(i=0;它不是所谓的“小代码”。事实上它太多了。你的程序中有太多的问题。参见旁白:你真的要输入101(ASCII代表'e')退出程序吗?奇怪的
无限循环在C语言中的不当使用无限循环在C语言中的不当使用 intpowi(inta,intb) { 如果(bdouble sum=0; 对于(i=0;它不是所谓的“小代码”。事实上它太多了。你的程序中有太多的问题。参见旁白:你真的要输入101(ASCII代表'e')退出程序吗?奇怪的,c,C,无限循环在C语言中的不当使用 intpowi(inta,intb) { 如果(bdouble sum=0; 对于(i=0;它不是所谓的“小代码”。事实上它太多了。你的程序中有太多的问题。参见旁白:你真的要输入101(ASCII代表'e')退出程序吗?奇怪的是,你以后甚至不使用exit变量。还有int factorial()似乎返回的类型不适合其用途。由于您使用阶乘计算三角函数,我建议您使用double类型。但是格式说明符是%d,它拒绝非数字输入。如果您不读它,注释有什么用?格式说明符%d不会读取
intpowi(inta,intb)
{
如果(bdouble sum=0;
对于(i=0;它不是所谓的“小代码”。事实上它太多了。你的程序中有太多的问题。参见旁白:你真的要输入101
(ASCII代表'e'
)退出程序吗?奇怪的是,你以后甚至不使用exit
变量。还有int factorial()
似乎返回的类型不适合其用途。由于您使用阶乘计算三角函数,我建议您使用double
类型。但是格式说明符是%d
,它拒绝非数字输入。如果您不读它,注释有什么用?格式说明符%d
不会读取条目E
。此外,我建议对#define pi 3.14159265358979323846使用更多的重要性。尽可能准确地工作。
int powi(int a,int b)
{
if(b<0)
return 1 / powi (a,-b);
else if(b==0)
return 1;
else if(b==1)
return a;
else
return a*powi(a,b-1);
}
int factorial(int number)
{
int x,fac;
/* numberi scanfle istemis ona gore dusun */
fac=1;
for(x = 1; x <= number; x++)
{
if (number >= 0)
fac = fac * x;
else
fac=1;
}
return 0;
}
void getInputs(int *degree,int *n,int *exit)
{
scanf("%d %d",degree,n);
if(*degree=='e')
*exit=1;
else
*exit=0;
}
double cosine(int degree,int n)
{
#define pi 3.14
int sum,i;
if(degree<360 && degree>-1)
degree=(degree*pi)/180;
else if(degree<0)
{ do
{ degree=degree+360;
} while(degree<0);
degree=(degree*pi)/180;
}
else
{
degree=degree%360;
degree=(degree*pi)/180;
}
for(i=0;i<n+1;i++)
{
sum=0;
sum=sum+powi(-1,n)*powi(degree,2*n)/factorial(2*n);
}
return 0;
}
double sine(int degree,int n)
{
int i,sum;
#define pi 3.14
if(degree<360 && degree>-1)
degree=(degree*pi)/180;
else if(degree<0)
{ do
{ degree=degree+360;
} while(degree<0);
degree=(degree*pi)/180;
}
else {
degree=degree%360;
degree=(degree*pi)/180;
}
for(i=0;i<n+1;i++)
{
sum=0;
sum=sum+powi(-1,n)*powi(degree,2*n+1)/factorial(2*n+1);
}
return 0;
}
double sum=0;
for(i=0;i<n+1;i++)
{
sum=sum+(double)(powi(-1,n)*powi(degree,2*n+1))/factorial(2*n+1);
}