这个c语言程序我想求20的阶乘输出的是21
#include<stdio.h>intmain(){inti,sum;for(i=1,sum=0;i<=100;i++);{sum=sum+i;}printf("sum...
#include<stdio.h>
int main()
{
int i,sum;
for(i=1,sum=0;i<=100;i++);
{
sum=sum+i;
}
printf("sum=%d\n",sum);
return 0;
} 展开
int main()
{
int i,sum;
for(i=1,sum=0;i<=100;i++);
{
sum=sum+i;
}
printf("sum=%d\n",sum);
return 0;
} 展开
2个回答
展开全部
#include <stdio.h>
double f(double n) //一个递归
{
if(n==0 || n==1) return 1;
else
return n*f(n-1);
}
int main()
{
double s, n=20 ;
s=f(n);
printf("s=%f\n",s);
return 0;
}
你可以运行一下 ,结果和百度计算的是一样的。
20的阶乘如果用int存储的话会溢出的,所以我用double存储。其实用一个int数组存储应该更好。
满意请采纳。
double f(double n) //一个递归
{
if(n==0 || n==1) return 1;
else
return n*f(n-1);
}
int main()
{
double s, n=20 ;
s=f(n);
printf("s=%f\n",s);
return 0;
}
你可以运行一下 ,结果和百度计算的是一样的。
20的阶乘如果用int存储的话会溢出的,所以我用double存储。其实用一个int数组存储应该更好。
满意请采纳。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询