7-3 求交错序列前N项和
实验代码
#include <stdio.h>
#include<stdio.h>
#include<math.h>
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 统计学生平均成绩与及格人数
#include <stdio.h>
int 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
count = %d",average,d);
}
设计思路
1.从题中我们可以知道要求统计及格人数与他们的平均分,所以先设出他俩。
2.用if语句判断是否合格,如果及格就加起来,没有及格就不加。
3.因为学生人数在求平均数时候作为分母,所以要考虑都不及格和没有学生这种特殊情况。
4.最后输出及格人数与平均分。
流程图
本题未遇到问题
最开始没有想到a是否等于0,没有其他问题,
本题PTA提交列表
GIT:https://git.coding.net/MikeJackYao/The-first.git
个人总结
本周主要还是对循环结构进行了进一步的学习,训练了一些循环的题型,并且还有if 和循环的嵌套使用,对于while和for的使用进行了更进一步的区分,在什么条件下用while比for会方便些,运用的数学知识也有很多。
重难点还是循环语句的使用,与一些变量的放置顺序,都很重要,如果放错位置整道题都会出错。对于循环嵌套还是有很多问题的。
互评和学习进度
于耀松;http://www.cnblogs.com/jsjyys/p/7826828.html
吴晓明;http://www.cnblogs.com/gu-an-cheng-wxm/p/7850962.html
张心悦:http://www.cnblogs.com/zxy980612/p/7850548.html
进度图