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

如题所述

思路:定义一个函数计算一个数的阶乘,再通过for循环就可以累加求和。

#include <stdio.h>
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
*/
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-18
#include<iostream>
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的值:"<<endl;
cin>>n;
for(double j=1;j<=n;j++)
sums+=j/fun(j);
cout<<endl;
cout<<"得到的结果是:";
cout<<sums<<endl;
}

你把输入输出改成c语言就行
第2个回答  2010-09-18
程序如下:已测试通过!
#include<stdio.h>
//求一个数的阶乘
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();
}
绝对是刚写好的,望采纳!本回答被提问者和网友采纳
相似回答