7-3 求交错序列前N项和
实验代码
#include#include #include int main (){ int N,i,S; float sum,Q; scanf("%d",&N); sum=0; i=1; S=1; while (i<=N) { Q=(1.0f*i/(2*i-1) ); sum=sum+S*Q; i=i+1; S=S*(-1); } printf("%.3f",sum);}
设计思路
1.交错相加,首先看出来分子每回加1,而分母每回加2,同时偶数项为负。 2.所以应该有4个变量,一个分子,一个分母,一个符号,还有他们的总和。 3.最后注意题目要求的3位小数。 流程图本题未遇到问题
当时对while语句不是特别熟悉,用的时候有些编译问题,其次问题是如何 做到正负替换,甚至打算用if语句,后来想明白直接每回*-1就好了。没有其他问题了。本题PTA提交列表
7-5 统计学生平均成绩与及格人数
#includeint main(){ int a,b,c,sum,d; float average; c = 1; d = 0; sum = 0; scanf("%d",&a); if(a != 0) { while(c <= a) { scanf("%d",&b); if(b >= 60) { d = d +1; } else if(b < 60) { d = d + 0; } sum = sum + b; c = c + 1; } average = (sum + 0.05f) / a; } else if(a == 0) { average = 0; d = 0; } printf("average = %.1f\ncount = %d",average,d);}
设计思路
1.从题中我们可以知道要求统计及格人数与他们的平均分,所以先设出他俩。 2.用if语句判断是否合格,如果及格就加起来,没有及格就不加。 3.因为学生人数在求平均数时候作为分母,所以要考虑都不及格和没有学生这种特殊情况。 4.最后输出及格人数与平均分。 流程图本题未遇到问题
最开始没有想到a是否等于0,没有其他问题, 本题PTA提交列表GIT:
个人总结
本周主要还是对循环结构进行了进一步的学习,训练了一些循环的题型,并且还有if 和循环的嵌套使用,对于while和for的使用进行了更进一步的区分,在什么条件下用while比for会方便些,运用的数学知识也有很多。 重难点还是循环语句的使用,与一些变量的放置顺序,都很重要,如果放错位置整道题都会出错。对于循环嵌套还是有很多问题的。 互评和学习进度 于耀松; 吴晓明; 张心悦: 进度图