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\ncount = %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
进度图

posted on 2017-11-19 00:32  姚ysy  阅读(202)  评论(2编辑  收藏  举报