C语言 生成一张阶层表

2024-11-04 17:55:33
推荐回答(4个)
回答(1):

#include "stdio.h"

double fact(int n)

{

     double sum=1.0;

     int i;

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

       sum*=i;

     return sum;

}

int main()

{

      int n,i;

      scanf("%d",&n);

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

         printf("%d!=%.0lf\n",i,fact(i));

 

}

回答(2):

完成


# include 
double fact(int n)
{
    int i;
    double s=1;
    for (i=1;i<=n;i++)
        s*=i;
    return s;
}
void main()
{
    int i,n;
    double myfact;
    scanf("%d",&n);
    for (i=1;i<=n;i++)
    {
        myfact=fact(i);
        printf("%d!=%.0f\n",i,myfact);
    }
}

回答(3):

既然是整数的阶乘表,为什么要是double型的!!!

#include
long fact(int k){
if(k==1){
return 1;
}
else{
return k*fact(k-1);
}
}
void main(){
int i,n;
long mafact;//可以改,但是只要是阶乘,没必要设置为double型的!!!
printf("输入n:\n");
scanf("%d",&n);
for(i=1;i<=n;i++){
mafact=fact(i);
printf("%d!=%ld\n",i,mafact);
}
}

回答(4):

#include
#include
#include
void fact(int n);
int main()
{
int n;
printf("请输入阶乘表的最大n值:");
scanf("%d",&n);
for(int i=1;i<=n;i++){
fact(i);
}
return 0;
}
void fact(int n){
int sum=1;
for(int i=1;i<=n;i++){
sum*=i;
}
printf("%d!=%d\n",n,sum);

}
运行结果的图片插不进去,你试试看吧