1⼀1!+2⼀2!+3⼀3!+...+n⼀n!用c语言怎么编程?

2024-12-28 12:28:22
推荐回答(3个)
回答1:

思路:定义一个函数计算一个数的阶乘,再通过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
*/

回答2:

#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的值:"< cin>>n;
for(double j=1;j<=n;j++)
sums+=j/fun(j);
cout< cout<<"得到的结果是:";
cout<}

你把输入输出改成c语言就行

回答3:

程序如下:已测试通过!
#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();
}
绝对是刚写好的,望采纳!