#include <stdio.h>
int main(void)
{
int val;
int i,mult = 1,s;
printf("请输入一个数字:");
printf("val=");
scanf("%d",&val);
for (int i = 1; i <= val; ++i) {
mult = mult * i;
}
printf("%d的阶乘是:%d\n",val,mult);
return 0;
}
递归升级版
#include <stdio.h>
long f(long n)
{
int i;
if(1 == n)//判断要反着写
return 1;
else
return n * f(n-1);
}
int main(void)
{
int val;
long mult;
printf("请输入一个数字:");
scanf("%d",&val);
mult = f(val);
printf("%d的阶乘是:%ld\n",val,mult);
return 0;
}