思路:定义一个函数计算一个数的阶乘,再通过for循环就可以累加求和。
#include
int fun(int n){//计算n的阶乘函数
if(n==1) return 1;
else return n*fun(n-1);
}
int main()
{
int i,n;
float sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)//for循环累加求和
sum += 1.0*i/fun(i);
printf("%.2f\n",sum);
return 0;
}
/*
输出:
3
2.50
*/
#include
using namespace std;
double fun(int n)
{
int sum=1;
for(int i=1;i<=n;i++)
sum*=i;
return sum;
}
void main()
{
double sums=0;
int n;
cout<<"请输入n的值:"<
for(double j=1;j<=n;j++)
sums+=j/fun(j);
cout<
cout<
你把输入输出改成c语言就行
程序如下:已测试通过!
#include
//求一个数的阶乘
double fun(int n)
{
int i;
double sum=1;
for(i=1;i<=n;i++){
sum*=i; //累积计算一个数的阶乘
}
printf("%d!=%.2f\n",n,sum); //输出这个数的阶乘
return sum;
}
void main()
{
int i,n;
double sum=0;
printf("Input the n:");
scanf("%d",&n);
for(i=1;i<=n;i++){
sum+=i/fun(i);
}
printf("The result is %.2f\n",sum);
getch();
}
绝对是刚写好的,望采纳!