用c语言for循环求1到10阶乘

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用c语言for循环求1到10阶乘相关的知识,希望对你有一定的参考价值。

void
main()
主函数

int
i,a=1;
定义整形变量i,a(a初值为1)
int
sum
=0;
定义整形变量sum
初值为0
for(i
=
1;i<=10;i++)
设i的值为1,当i小于等于10成立时跳出答案,不成立,i的数值加1

a
=
a
*i;

a=a乘以i
sum
=
sum
+
a;
sum记录求和

printf("1到10的阶乘和是
%d",sum);
输出结果
end
结束
参考技术A void
main()
主函数

int
i,a=1;
定义整形变量i,a(a初值为1)
int
sum
=0;
定义整形变量sum
初值为0
for(i
=
1;i<=10;i++)
设i的值为1,当i小于等于10成立时跳出答案,不成立,i的数值加1

a
=
a
*i;

a=a乘以i
sum
=
sum
+
a;
sum记录求和

printf("1到10的阶乘和是
%d",sum);
输出结果
end
结束
参考技术B #include
<stdio.h>
void
main()

int
a,b,c;
int
sum=0;
for(a=1;a<=10;a++)//控制1-10个数字

for(b=1,c=1;b<=a;b++)//控制每个数的阶乘

c=b*c;

sum+=c;//把结果累加在sum中

printf("10的阶乘之和为:%ld\n",sum);
参考技术C #include
<stdio.h>
void
main()

int
a,b,c;
int
sum=0;
for(a=1;a<=10;a++)//控制1-10个数字

for(b=1,c=1;b<=a;b++)//控制每个数的阶乘

c=b*c;

sum+=c;//把结果累加在sum中

printf("10的阶乘之和为:%ld\n",sum);

C语言求1-20的阶乘之和

1+2!+3!+4!...+20! C语言求阶乘,我的语句如下
#include <stdio.h>
int main()

int a=1,sum=1;
int i;
do

a=a*(a+1);
sum=sum+a;
i++;
while(i<=19);
printf("%d\n",sum);
return 0;

他没有进行循环,请问这是为何?

i没有初始化,加上i = 0,否则i是乱码,另外1到20的阶乘值很大,会数据溢出,应该用__64int或者long long (可存储2^64位数)来定义sum。 参考技术A

/*

sum = 2561327494111820313

Press any key to continue

*/

#include <stdio.h>
 
int main() 
__int64 fact = 1,i,sum = 0;
for(i = 1; i < 21; ++i)
fact *= i;
sum += fact;

printf("sum = %I64d\\n",sum);
return 0;

本回答被提问者和网友采纳
参考技术B int i; 这里定义了 i 这个变量,但是没有初始化为0,所以 i 的值是不确定的,有极大的概率会大于 19 ,所以循环条件就不成立了。 参考技术C 没进循环式因为 i没初始化, i是随机值,可能大于19 参考技术D 你的i没有赋初始值追问

后来对i进行赋值后 感觉这个数据也不对

以上是关于用c语言for循环求1到10阶乘的主要内容,如果未能解决你的问题,请参考以下文章

用c语言for循环求1到10阶乘

用while语句求20的阶乘的和

怎样用C语言计算1到10的阶层的和?

C语言求n个数的阶乘和,使用for语句循环,一定要用套嵌for语句吗?不用套嵌的单层for可以吗,

怎么用while语句算5的阶乘?

C语言,算1到20阶乘的和