C语言 1乘2乘3乘4乘5 是怎样赋值 循环的,越详细越好,谢谢老师们了

我才开始学习C语言编程,书本的第一道例题我怎么都理解不了。请老师解释的详细一点。

是这样的啊,语句就像这样:
for(i=1;i<=n;i++)
s=s*i;
注意啊,这里的前提是s=1,这个一定不能少啊。就这样循环下去,最后s就是n的阶乘。
是这样一步一步赋值的。
第一步:i被赋1,s=s*i,这时s=1*1.因为这时s=1,i=1.这次循环结束后s的值为1.即是1的阶乘。
第二步:这时i被赋2,因为结束循环后i要自加一次,其值就变为2。再执行s=s*i,这时s=1*2.因为这时s=1,i=2.这次循环结束后s的值为2.即是2的阶乘。
第三步:这时i被赋3,因为结束循环后i要自加一次,其值就变为3。再执行s=s*i,这时s=2*3.因为这时s=2,i=3.这次循环结束后s的值为6.即是3的阶乘。
…………
最后一步:这时i被赋n,因为结束循环后i要自加一次,其值就从上次结束循环时的n-1变为n。再执行s=s*i,这时s=(n-1)!*n.因为这时s=(n-1)!,i=n.这次循环结束后s的值就为n的阶乘。
这个循环就是这样一步一步通过改变i的值,进而改变s的值来实现对n求阶乘,即求1乘2乘3乘4乘5 ……
这样你应该明白了吧,已经很详细了。如还不懂就再问我,和我联系。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-05-29
好像还要看你用什么编译器,有些编译器是从左往右计算,有些是从右往左计算

C语言 1乘2乘3乘4乘5 是怎样赋值 循环的,越详细越好,谢谢老师们了
第一步:i被赋1,s=s*i,这时s=1*1.因为这时s=1,i=1.这次循环结束后s的值为1.即是1的阶乘。第二步:这时i被赋2,因为结束循环后i要自加一次,其值就变为2。再执行s=s*i,这时s=1*2.因为这时s=1,i=2.这次循环结束后s的值为2.即是2的阶乘。第三步:这时i被赋3,因为结束循环...

C语言 1*2*3*4*5
} 首先定义i 它是计算式里面的因子,也就是1*2*3*4*5中的1,2,3,4,5;s是结果,给他赋初值1;for(i=1;i<=5;i++){s=s*i;)的意思是 当i=1时,计算s=s*i 也就是1=1*1 此时s=1,接着再循环for语句,此时i=2;因为定义了i++,他的意思是i使用一次后给i加上1,也就是...

c语言编写计算1*2*3+3*4*5+….+99*100*101
第51次循环:n = i*j*k = 1*4*3 第52次循环:n = i*j*k = 1*4*5 ……

如何用C语言编写出如下效果的九九乘法表: * 1 2 3 4 5 6 7 8 9...
printf("\\n");\/\/s循环完了之后,该下一个i的时候换行 } } 这是用C++编的 include"iostream"using namespace std;void main(){ int a=0;for(int i=1;i<10;i++){ for(int s=1;s<=i;s++)\/\/这个地方中的应该是s<=i这样限制一下 { a=i*s;cout << s<< "*" << i << "...

...5...*N也就是!N,并且计算答案,用while语法~~~谢谢大家了啊~~~_百度...
k是从屏幕输入的结果,比如你输入“10”,就会计算10!的结果 int total = 1;int n = 1;int k = 0;string strNumber = Console.ReadLine();Int32.TryParse(strNumber, out k);StringBuilder sb = new StringBuilder();sb.Append(n.ToString());n++;while (n <= k){ total *= n;sb....

1×2×3×4×5乘到2020找规律?
这就是阶乘,n! 表示正整数1到n的乘积。2020! = 1×2×3×4×5×...×2020 2020的阶乘没有快捷计算方法,只能逐个相乘,直到2020。如果只需要阶乘的近似值,可以用斯特林公式进行求解。斯特林公式(Stirling's approximation)是用来求取n阶乘的近似值公式。斯特林公式能够将求解阶乘的复杂度降低到对...

如何用c语言分别输出1到5的阶乘,并且输出它们的和?
include<stdio.h>int jc(int n);\/\/计算n的阶乘int main(){ int n,jcn,sum=0; for(n=1;n<=5;n++) { jcn=jc(n); printf("%d的阶乘为:%d\\n",n,jcn); sum=sum+jcn; } printf("总和为:%d\\n",sum); return 0;}int jc(int n)\/\/计算n的阶乘{...

在C语言中11种赋值运算符的具体含义,用法?
=是取模后赋值,+=是加后赋值,-= 是减后赋值,2.<<=是左移后赋值,变量<<=表达式 左移就是将左边的数的二进制各位全部左移若干位,右边的数指定移动位数,高位丢弃,低位补0, 移几位就相当于乘以2的几次方。3.>>=是右移后,变量>>=表达式,右移运算符是用来将一个数的各二进制位右...

1乘2乘3乘4乘5…乘n怎么表示
用“n阶乘”(n!)表示。阶乘(factorial)是基斯顿·卡曼(Christian Kramp, 1760 – 1826)于1808年发明的运算符号,指从1乘以2乘以3乘以4一直乘到所要求的数。任何大于1的自然数n阶乘表示方法:n!=1×2×3×……×n 或 n!=n×(n-1)!另外,数学家定义,0!=1,所以0!=1!

怎么用C语言打印九九乘法表的一半,主对角线的那部分
printf("%d*%d=%-3d",i,j,result); \/*-3d表示左对齐,占3位*\/ } } printf("\\n"); \/\/每一行后换行 } } 运行结果 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*...

相似回答