查找大神帮忙解释一下下面这段c语言程序!
下面这个是一个大的整数的阶乘程序,寻求解释神的大原则,详细解释的最佳点的附加价值?感谢你伟大的神#包括的#包括中的无效的主要(){无效的增量(个char[],下面intn...
下面这个是一个大的整数的阶乘程序,寻求解释神的大原则,详细解释的最佳点的附加价值?感谢你伟大的神
#包括的
#包括中的
无效的主要()
{
无效的增量(个char [],下面int n);
无效的添加(字符S1 [字符S2 []);
时间,J;
的printf(“请输入您要执行的数字:”);
scanf函数(“%d的”;与时间)
(J = 0; J <时间; J + +)
{
INT N,金威= 0,市,GE,编号,我;
的printf(“请输入1 - 150的整数!”);
scanf函数(“为%d”,&N);
(N> 0 && N < = 58){
字符B [1000];
的char A [1000];
A [0] = '1';
(I = 1 <= 999; + +)
一个[我] = 0;
(I = 1; <= N + +)
{
STRCPY(B,A);
NUM = strlen的();
市100/10 = I%;
GE =%10; >增量(A,GE);
(市)
{
增量(B,市);
NUM = strlen的(B);
a> B [NUM] = 48
B [NUM +1] = 0;
(A,B);
}
}
(市> 0)
{
的printf(“%D%D!=”,市,GE)
提出(一) >} <br \
其他\/> {
的printf(“%D!=”,GE)
将(一)
}
}
其他的printf(“错误”);
}
}
无效添加(S1的char [],字符S2 [])
> {
INT I,M,N,K,金威= 0;
,如果M = strlen的(S1);
N = strlen的(S2); (M> = N)
{
(=,> = 0; - )
S2 [+ MN] = S2 [I]; \ />(I = 0; I <百万; + +)
S2 [我] = 48;
}
其他
{
(I =米;> = 0; - )
S1 [I +纳米] = S1 [I];
就(i = 0; <纳米+ +)
S1 [I] = 48;
}
(I = M-1;> = 0; - )
{
K = S1 [I] + S2 [I] +经纬-96;
S1 [I] = K%10 +48;
经纬= k/10;
}
(经纬)
{
(I =米;> = 1;我 - )
S1 [I] = S1 [I-1
S1 [0] = 49;
S1 [M +1] = 0;
}
}
无效多个(char类型[],诠释x)
INT I,M,N,金威= 0;
N = strlen的(S);
(我= -1;> = 0;我 - )
{
M =(S [I] -48)* X +经纬;
小号[I] = M 10% +48;
经纬= M/10;
}
(经纬)
{
{
(I = N,I> = 1; - )
[我] = [I-1];
[0] = 48;经纬
}
S [N +1] = 0;
}
} 展开
#包括的
#包括中的
无效的主要()
{
无效的增量(个char [],下面int n);
无效的添加(字符S1 [字符S2 []);
时间,J;
的printf(“请输入您要执行的数字:”);
scanf函数(“%d的”;与时间)
(J = 0; J <时间; J + +)
{
INT N,金威= 0,市,GE,编号,我;
的printf(“请输入1 - 150的整数!”);
scanf函数(“为%d”,&N);
(N> 0 && N < = 58){
字符B [1000];
的char A [1000];
A [0] = '1';
(I = 1 <= 999; + +)
一个[我] = 0;
(I = 1; <= N + +)
{
STRCPY(B,A);
NUM = strlen的();
市100/10 = I%;
GE =%10; >增量(A,GE);
(市)
{
增量(B,市);
NUM = strlen的(B);
a> B [NUM] = 48
B [NUM +1] = 0;
(A,B);
}
}
(市> 0)
{
的printf(“%D%D!=”,市,GE)
提出(一) >} <br \
其他\/> {
的printf(“%D!=”,GE)
将(一)
}
}
其他的printf(“错误”);
}
}
无效添加(S1的char [],字符S2 [])
> {
INT I,M,N,K,金威= 0;
,如果M = strlen的(S1);
N = strlen的(S2); (M> = N)
{
(=,> = 0; - )
S2 [+ MN] = S2 [I]; \ />(I = 0; I <百万; + +)
S2 [我] = 48;
}
其他
{
(I =米;> = 0; - )
S1 [I +纳米] = S1 [I];
就(i = 0; <纳米+ +)
S1 [I] = 48;
}
(I = M-1;> = 0; - )
{
K = S1 [I] + S2 [I] +经纬-96;
S1 [I] = K%10 +48;
经纬= k/10;
}
(经纬)
{
(I =米;> = 1;我 - )
S1 [I] = S1 [I-1
S1 [0] = 49;
S1 [M +1] = 0;
}
}
无效多个(char类型[],诠释x)
INT I,M,N,金威= 0;
N = strlen的(S);
(我= -1;> = 0;我 - )
{
M =(S [I] -48)* X +经纬;
小号[I] = M 10% +48;
经纬= M/10;
}
(经纬)
{
{
(I = N,I> = 1; - )
[我] = [I-1];
[0] = 48;经纬
}
S [N +1] = 0;
}
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询