C语言 用函数调用方法求1!+2!+3!+…+n!的和

 我来答
问明6E
高粉答主

2019-05-25 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.6万
展开全部

#include<iostream>

#include<cstdio>

using namespace std;

int main()

{

int n;

while(cin>>n)

{

long long sum=0,num=1;

for(int i=1;i<=n;i++)

{

num*=i;

sum+=num;

}

printf("%lld\n",sum);

}

return 0;

}

printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。

其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。

比如:

int a=1234;

printf("a=%d\n",a);

输出结果为a=1234。

扩展资料:

printf函数使用注意事项

1、域宽

%d:按整型数据的实际长度输出。

如果想输出指定宽度可以指定域宽,%md-->m域宽,打印出来以后,在控制台上,显示m位;

如果我们要打印的数的位数如果超过我们设定m则原样输出;

如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:

如果m为正数,则左对齐(左侧补空白);

如果m为负数,则右对齐(右侧补空白)。

2、转义字符

如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。

如:printf("%f%%",1.0/3);输出结果:0.333333%。

zsx10110
2012-05-15 · TA获得超过8872个赞
知道大有可为答主
回答量:2369
采纳率:66%
帮助的人:3074万
展开全部
#include <stdio.h>
long factorial(long n)
{
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n-1);
}
void PrintResult(int n, long result)
{
int i = 0;
if (n == 0)
printf("%d! = ", 0);
else if (n == 1)
printf("%d! = ", 1);
else if (n == 2)
printf("%d!+%d! = ", 1, 2);
else
printf("%d!+%d!+...+%d! = ", 1, 2, n);
printf("%lu\n", result);
}
int main(void)
{
int n = 0, i = 0;
long sum = 0;
printf("Please input a number: \n");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
sum += factorial(i);
}
PrintResult(n, sum);
return 0;
}

例子:
Please input a number:
20
1!+2!+...+20! = 268040729
Press any key to continue
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
w1s2j3229
推荐于2017-12-16 · TA获得超过448个赞
知道小有建树答主
回答量:712
采纳率:25%
帮助的人:529万
展开全部
#include<stdio.h>
long factor(int n)
{
long result=0;
long temp=1;
int i;
for(i=1;i<=n;i++)
{
temp*=i;
result+=temp;
}
return result;
}

int main()
{
int n;
printf("please input a number\n");
scanf("%d",&n);
long result=factor(n);
printf("the result is %d\n",result);
return 0;
}
其中long factor(int n)函数就是直接求1!+2!+3!+…+n!的和
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weixyc
2012-05-15 · TA获得超过1128个赞
知道小有建树答主
回答量:763
采纳率:100%
帮助的人:486万
展开全部
我这个编的比较简洁
#include<stdio.h>
long fun(int n)
{
int i;
long result=1;
for(i=1;i<=n;i++)
result*=i;
return result;
}
main()
{
int n,i;
long sum=0;
printf("input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
sum+=fun(i);
printf("%d\n",sum);
}
追问
我刚学C语言  请问为什么#include   下面没有主函数  void main()
追答
有呀,在下面啊,直接打main系统默认为int main
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
982092332
2012-05-15 · TA获得超过365个赞
知道小有建树答主
回答量:79
采纳率:0%
帮助的人:113万
展开全部
#include <stdio.h>
double f(double x,int n)
{
double sum=0;
double item=1;
int i;
for(i=1;i<=n;i++)
{
item*=x;
sum+=item;
}
return sum;
}

int main()
{
printf("%lf",f(2,3));
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式