求100的分层c语言
void main()
{
long i,j,x,num = 0;
for(I = 1;i = 100我)
{
x = 1;
for(j = 1;j = I;j)
x * = j;
num = x;
}
printf("%ld ",num);
getch();
}
写入1x2x3x4...x100在c语言中使用do while语句,它是100的阶乘。为什么? 你好,100的阶乘结果大约有150位,用简单的do while语句是无法计算出确切的结果的(结果的最后100位全是零,正确的结果大约是20个零)。
程序1:
#包含stdio.h
#定义M 1000
主()
{
int a[M],I,n,j,flag = 1;
printf(" n = ");
scanf("%d ",n);
printf("n!=");
a[0]= 1;
for(I = 1;我是M;我)
a[I]= 0;
for(j = 2;j = n;j)
{
for(I = 0;我举旗;我)
a[I]* = j;
for(I = 0;我举旗;我)
如果(a[i] = 10)
{
a[I 1]= a[I]/10;
a[I]= a[I]% 10;
if(i == flag-1)
旗帜;
}
}
for(j = flag-1;j = 0;j -)
printf("%d ",a[j]);
}
程序2:
#包含stdio.h
#包含字符串. h
void f(int n)
{
void cheng(char s[],int n);
void jia(char s1[],char S2[]);
int金威=0,白,石,葛,num
char b[1000],c[1000];
静态char a[1000]= { " 1 " };
strcpy(b,a);
strcpy(c,a);
num = strlen(a);
Bai = n/100;
石= n0/10;
ge = n;
程(一、葛);
如果(石)
{
程(乙、石);
num = strlen(b);
b[num]= 48;
b[数字1]= 0;
贾(甲、乙);
}
如果(白)
{
程(丙,白);
num = strlen(c);
c[num]= 48;
c[数字1]= 48;
c[num 2]= 0;
贾(甲、丙);
}
printf("%d%d%d!= "、白、石、葛);
看跌期权(a);
}
void jia(字符s1[],字符s2[])
{
int i,m,n,k,Jin Wei = 0;
m = strlen(S1);
n = strlen(S2);
如果(m=n)
{
for(I = n;I = 0;我-)
S2[I m-n]= S2[I];
for(I = 0;im-n;我)
S2[I]= 48;
}
其他
{
for(I = m;I = 0;我-)
S1[I n-m]= S1[I];
for(I = 0;in-m;我)
S1[I]= 48;
}
for(I = m-1;I = 0;我-)
{
k=s1[i] s2[i]金威-96;
s1[i]=k 48;
金威= k/10;
}
if(金威)
{
for(I = m;I = 1;我-)
S1[I]= S1[I-1];
S1[0]= 49;
S1[m 1]= 0;
}
}
void cheng(char s[],int x)
{
int i,m,n,Jin Wei = 0;
n = strlen(s);
for(I = n-1;I = 0;我-)
{
m=(s[i]-48)*x金维;
s[i]=m 48;
金威= m/10;
}
if(金威)
{
{
for(I = n;I = 1;我-)
s[I]= s[I-1];
s[0]=金威48;
}
s[n ^ 1]= 0;
}
}
void main()
{
int i,n;
Printf("请输入1到150之间的整数!");
scanf("%d ",n);
如果(n0n=150)
for(I = 1;I = n;我)
f(一);
}
C语言中如何求1到100的阶乘和 我们经常用C语言进行各种数学运算,那么如何用C语言求1到100的阶乘和呢?让我给你演示一下。
工具/材料
开发C
01
首先打开Dev C软件,新建一个C语言控制台项目,如下图所示。
02
然后在main.c文件中输入计算阶乘的逻辑代码,如下图所示。
03
接下来,我们编译写好的C语言文件,如下图所示。
04
最后,通过执行C语言文件,我们可以得到从1到100的阶乘之和,如下图所示。
最后更新于 2023-10-08 15:53:18 并被添加「」标签,已有 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
相关文章