#include <stdio.h>int factorial(int n){ int result; if (n < 0) { printf("%s\n", "输入错误"); return 0; } else if (n == 0 || n == 1); { result = 1; } else (n > 1) { result = factorial(n - 1)*n; } return result;}int main(){ int n = 5; printf("%s\n", "%d的阶乘=%d", n, factorial(n)); return 0;}
7 回答
噼喱啪啦
TA贡献392条经验 获得超170个赞
首先第七行,%s是输出字符,也就是要有变量跟%d那样的用法,是输出控制,你可以直接这样输出
printf( "输入错误");输出提示信息就可以.
还有第十四行,这个else其实后面不用加(n>1)了,else就行,所有的if跟else都不能加分号
最后主函数的那句输出,你也是滥用了%s,你继续学习下一节应该就懂了.
霏梧
TA贡献65条经验 获得超23个赞
#include <stdio.h>
int factorial(int n)
{
int result;
if (n < 0)
{
printf("%s\n", "输入错误");
return 0;
}
else if (n == 0 || n == 1)
{
result = 1;
}
else if (n > 1)
{
result = factorial(n - 1)*n;
}
return result;
}
int main()
{
int n = 5;
printf("%d,n阶乘=%d\n", n, factorial(n));
return 0;
}
- 7 回答
- 0 关注
- 1812 浏览
添加回答
举报
0/150
提交
取消