C语言递归 计算阶乘

输入正整数n(1-10),求1-n的阶乘之和,最后必须输出回车。遇到异常情况(如不是1-10中数),输出"error";否则不要随意输出。例如,输入4,输出33;输入7,... 输入正整数n(1-10),求1-n的阶乘之和,最后必须输出回车。遇到异常情况(如不是1-10中数),输出"error";否则不要随意输出。
例如,输入4,输出33;
输入7,输出5913回车。
题目要求是这样的
下面是我自己写的程序,错在哪里,能不能给改一下
#include<stdio.h>
void f(int n);
int main()
{ int n,sum;
scanf_s("%d", &n);
void f(int n);
printf("%d", &sum);
}
void f(int n)
{
int sum,n;
scanf_s("%d", &n);
if(n<=0||n>10)
{
printf("error");
}
else if(n=1)
{
sum = 1;
}
else{sum = n*f(n - 1);
return (f);
}
}
展开
 我来答
百度网友2ebe1e4f3
2017-10-13 · TA获得超过1.3万个赞
知道大有可为答主
回答量:9245
采纳率:52%
帮助的人:3252万
展开全部
#include <stdio.h>
void f(int);
main()
{
int n;
unsigned long fac;
scanf("%d", &n);
fac=f(n);
if(fac)
printf("%d",fac);
}
void f(int n)
{
if(n<=0||n>10)
{
printf("error");
return 0;
}
else if(n==1) return 1;
else return n*f(n-1);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
南枝北苼
2017-10-13 · TA获得超过302个赞
知道答主
回答量:69
采纳率:66%
帮助的人:20.5万
展开全部
函数调用是不写返回值的
追答
也就是第七行改为,f(int n)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lemoontree
2020-12-08
知道答主
回答量:63
采纳率:0%
帮助的人:7万
展开全部

递归求阶乘

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuzhouliuying
高粉答主

2017-10-13 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:5.4万
采纳率:86%
帮助的人:2.4亿
展开全部
你写的这个程序已经没有改的意义了,从算法到语句格式,错误百出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式