unsigned long long类型是目前C语言中精度最高的数据类型,可以用来表示20以内的阶乘数据,20以外的自测。
还有是unsigned long long的精度64位,double或者long double 虽然也占有8个字节,但是他们的实际精度只有53位。

#include <stdio.h>
#include <math.h>
unsigned long long jiecheng(int a);
int main()
{
unsigned long long m;
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
m=jiecheng(i);
printf("%-4d%-20llu\n",i,m);
}
return 0;
}
unsigned long long jiecheng(int a)
{
unsigned long long sum=1;
for(int i=2;i<=a;i++){
sum=i*sum;
}
return sum;
}
本文介绍如何使用C语言的unsigned long long类型实现高精度的阶乘计算。该类型可以表示20以内的阶乘数据,适用于需要精确计算的应用场景。文章提供了完整的代码示例,包括主函数和阶乘计算函数。
1535

被折叠的 条评论
为什么被折叠?



