C语言习题2

简介: 这是一个关于求和的问题,涉及三个序列的计算:∑11001k!(k从1到100),∑150k2(k从1到50)和∑1101k(k从1到10)。由于k!可能溢出,建议使用t=t/i(t为double类型)的方式来避免。提供的C++代码示例中,使用for循环分别计算这三个序列,并将结果累加到变量sum中。最后,程序输出总和。附有代码执行结果的截图。

求∑11001k!+∑150k2+∑1101k


分析:这是一种求和问题,知道变量的范围, 可以看做计数循环,适合使用for循环。


对于1至100,可以写成for(i=1;i<=100;i++)其它类似。


需要注意k! 会溢出,可以写成t=t/i的形式, t为double类型。


代码:


#include<stdio.h>
 
int main()
 
{
 
int k=0;
 
double i=1,sum=0;
 
for(k=1;k<=100;k++)
 
{
 
k=k/i;
 
sum+=k;
 
}
 
for(k=1;k<=50;k++)
 
{
 
sum+=k*k;
 
}
 
for(k=1;k<=10;k++)
 
{
 
sum+=1.0/k;
 
}
 
printf("sum=%f",sum);
 
return 0;
 
}


运行结果:


目录
相关文章
TU^
|
6月前
|
存储 C语言
C语言习题~day35
C语言习题~day35
TU^
32 1
|
4月前
|
机器学习/深度学习 C语言
【C语言篇】递归详细介绍(基础概念习题及汉诺塔等进阶问题)
要保持最小的步数,每一次汉诺塔问题(无论是最初还是递归过程中的),如果此时初始柱盘子数为偶数,我们第一步是把最上面的盘子移动到中转柱,如果为奇数,我们第一步则是将其移动到目标柱。
100 0
【C语言篇】递归详细介绍(基础概念习题及汉诺塔等进阶问题)
TU^
|
6月前
|
编译器 C语言
C语言习题~day31
C语言习题~day31
TU^
27 2
TU^
|
6月前
|
算法 程序员 C语言
C语言习题~day36
C语言习题~day36
TU^
44 1
TU^
|
6月前
|
存储 C语言
C语言习题~day34
C语言习题~day34
TU^
36 1
TU^
|
6月前
|
算法 C语言
C语言习题~day33
C语言习题~day33
TU^
31 1
TU^
|
6月前
|
C语言
C语言习题~day32
C语言习题~day32
TU^
19 1
TU^
|
6月前
|
C语言
C语言习题~day30
C语言习题~day30
TU^
24 1
TU^
|
6月前
|
自然语言处理 C语言 C++
C语言习题~day29
C语言习题~day29
TU^
25 1
TU^
|
6月前
|
存储 C语言
C语言习题~day28
C语言习题~day28
TU^
22 1