2个回答
展开全部
1 设计阶乘函数。
按照数学定义,对于n的阶乘,如果n为0,则返回1.
否则返回1*2*3*...*n的值。用循环实现。
2 在主函数中输入要求阶乘的值。
3 调用函数计算阶乘。
4 输出结果。
代码:
int fac(int n)
{
int r = 1;
int i;
for(i = 2; i <=n; i ++)
r*=i;
return r;
}
int main()
{
int n,r;
scanf("%d",&n);
r = fac(n);
printf("%d!=%d\n",n,r);
}
展开全部
骚年 你这已经不是C语言基本数据类型能解决的了,因为30的阶层太大了,c语言的基本类型里存不下了,要用到其他特殊的方法,下面我给你一个产生不大于10 的三阶乘相加函数。如果有其他问题再讨论。
#include<stdio.h>
int my_Cal(int i)
{
long temp = 1;
for(i;i>0;i--)
temp = temp * i;
return temp;
}
void myCal(int a,int b,int c)
{
printf("ADD = %ld\n",my_Cal(a)+my_Cal(b)+my_Cal(c));
}
int main()
{
int a = rand()%11;
int b = rand()%10;
int c = rand()%10;
myCal(a,b,c);
return 0;
}
#include<stdio.h>
int my_Cal(int i)
{
long temp = 1;
for(i;i>0;i--)
temp = temp * i;
return temp;
}
void myCal(int a,int b,int c)
{
printf("ADD = %ld\n",my_Cal(a)+my_Cal(b)+my_Cal(c));
}
int main()
{
int a = rand()%11;
int b = rand()%10;
int c = rand()%10;
myCal(a,b,c);
return 0;
}
更多追问追答
追问
VC提示有一个错误
追答
啥错误?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询