n!=n*(n-1)*(n-2)*........*1。所以我们只需要设定一个fac,从一开始进行循环,每循环一次乘以一个加一的数,直到乘n。
void menu()
{
printf("**********n!计算*************\n");
printf("**********0.开始*************\n");
printf("**********1.退出*************\n");
printf("*****************************\n");
}
int main()
{
int n = 0;
int s = 0;
do
{
//打印菜单函数
menu();
printf("请选择>:");
scanf("%d", &s);
switch (s)
{
case 0:
printf("请输入n>:");
scanf("%d", &n);
int i = 0;
int fac = 1;//初始阶乘为1
for (i = 1; i <= n; i++)//进行循环
{
fac *= i;
}
printf("%d!是%d\n", n, fac);
break;
case 1:
printf("退出\n");
break;
default:
printf("选择错误,请重新选择>:\n");
break;
}
} while (s != 1);
return 0;
}