|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<stdio.h>
- int main()
- {
- int i,j;
- double sum = 0,num = 1;
- for(i = 1; i <= 100; i++)
- {
- for(j = 1; j <= i; j++)
- {
- num = num * j;
- }
- sum = sum + num;
- }
- printf("总数是%e",sum);
- }
复制代码
上面这段代码是哪里有错误吗?为什么输出乱码?
双层循环,num一直在增大。num最后是100以内所有数的阶乘的乘积,早就撑爆啦!
怎么可能输出正确的结果。
你要计算的是100以内阶乘的和吧?
外层循环需要给num复原为1
- #include<stdio.h>
- int main()
- {
- int i,j;
- double sum = 0,num = 1;
- for(i = 1; i <= 100; i++)
- {
- num=1;
- for(j = 1; j <= i; j++)
- {
- num = num * j;
- }
- sum = sum + num;
- }
- printf("总数是%e",sum);
- }
复制代码
|
|