#include
doublefun(intn)/*考虑到有些数的阶乘值很大,可能会突破long的范围,设为double类型*/
{
if(n==0)return1;
elsereturnn*fun(n-1);
}
intmain(intargc,char*argv[])
{
intm,n;
printf("请输入一个数字:");
scanf("%d",&m);
printf("输出:\n");
for(n=1;n
if(fun(n)
{printf("%d!=%.0f\n",n,fun(n));/*%.0f输出阶乘,double类型不输出小数点*/
printf("%d!=%.0f\n",n+1,fun(n+1));
printf("%d符合条件\n",n);
}
printf("\n");
return0;
}。