PTA练习总结

练习2-15 交错的加减运算

练习2-15 求简单交错序列前N项和 (15分)
本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + … 的前N项之和。

输入格式:

输入在一行中给出一个正整数N。

输出格式:

在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。

输入样例:

10

输出样例:

sum = 0.819

在做这个题中遇到的问题是,没有掌握到如何进行交错的加减运算,在搜索之后发现,需要在循环中加一个 x = -x 即可。(我太菜了,是个憨批)

习题2-6 在循环后进行清零

习题2-6 求阶乘序列前N项和 (15分)
本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。

输入格式:
输入在一行中给出一个不超过12的正整数N。

输出格式:
在一行中输出整数结果。

输入样例:

5

输出样例:

153

做这道题遇到的问题是,计算所得的数非常大,两个循环的思路是没有问题的,但关键在于,没有在第二个循环处将sum1的值再次变1。所以,只需要在第一个循环的内容加一个 sum1 = 1;且加在最前面即可。

练习3-3 c语言变量的初始化赋值

在做练习3-3时,average的平均数算出来非常的大,在检查算法后发现并没有出错,最后发现是没有对sum进行初始化赋值。在C语言中,如果没有对一个变量进行赋值,则为给它随机分配一个值,这就是为什么average非常大的原因,因为给sum随机赋了一个非常的值。

习题3-5 三角形的判断

C语言中,三角形判断的方式

if(a<(b+c) && b<(a+c) && c<(a+b))