C语言写一个求阶乘函数输出结果
这已经不是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;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-04-25
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i,j,n;
double sum=0,sum1;
for(i=1;i<=3;i++){
n=rand()%30;
sum1=1;
for(j=1;j<=n;j++)
sum1*=j;
sum+=sum1;
}
printf("%lf",sum);
return;
}追问
#include <stdlib.h>
void main()
{
int i,j,n;
double sum=0,sum1;
for(i=1;i<=3;i++){
n=rand()%30;
sum1=1;
for(j=1;j<=n;j++)
sum1*=j;
sum+=sum1;
}
printf("%lf",sum);
return;
}追问
高手你又来,一条问题发问三次,答案终于正确
高手你又来,一条问题发问三次,答案终于正确
本回答被提问者采纳