第七周作业
要求二
题目7-3求交错序列前N项和
1,实验代码
#include<stdio.h>
int main()
{
int i=1,a=1,b=1,n;
double sum=0,y;
scanf("%d",&n);
while(i<=n){
y=a*i*1.0/b;
sum=sum+y;
i=i+1;
b=2*i-1;
a=-a;
}
printf("%.3lf",sum);
return 0;
}
2,设计思路
(1)题目算法
第一步:观察细读题目知道本题交错序列的式子有规律,分子依次递增,分母依次加二,且分式前的符号有变化。
第二步:定义浮点型函数sum,y,整形函数i,a,b,n,再定义一个变量a实现正负的变换,当i>n时循环结束,再定义一个函数和sum。
第三步:找到每次变化时对应的式子y=a* i * 1.0 / b,b=2*i-1,放到while循环体里。
(2)流程图
3,本题调试过程遇到问题及解决方法
(1)错误截图
(2)遇到问题
这道题是我的思路错误,想复杂化了,没有按照老师讲的做,导致格式错误,后来自己找资料琢磨知道交错序列只需在while循环体里定义a=-a就好了。
4,本题PTA提交列表
题目7-5统计学生平均成绩与及格人数
1,实验代码
#include<stdio.h>
int main()
{
int count=0,i=1,n,grade;
double sum=0;
scanf("%d",&n);
if(n!=0){
while(i<=n){
scanf("%d",&grade);
if(grade>=60)
count++;
sum=sum+grade;
i++;
}
printf("average = %.1lf\n",sum/n);}
else
printf("average = 0.0\n");
printf("count = %d",count);
return 0;
}
2,设计思路
(1)题目算法
第一步:本题要求计算学生平均成绩与及格人数,所以定义及格人数count,每个学生成绩grade,学生人数n,和相关变量i,浮点型函数所有成绩的和sum。
第二步:考虑n的值,当n不等于0时用while进行循环,每输入一个成绩进行累加,当成绩大于60时及格人数就加1,当i的值大于所输入的n的值时结束循环,输出average=sum/n,当n等于0时,直接输出平均数为0。
第三步:输出及格人数与平均分。因为n的值不影响及格人数的输出所以及格人数不需进入循环体。
(2)流程图
3,本题调试过程遇到问题及结局解决方法
(1)错误截图
(2)遇到问题
本题定义错误,count为及格人数,所以需要设定初始值,从0开始等有及格的依次往上加。
4,本题PTA提交列表
要求三
1,git地址
https://git.coding.net/MAYUXIN/mayuxin.git
2,截图
要求四
个人总结:
(1)内容总结与收获
本周学习到了用while, do while, for语句分别实现循环,还有break语句,知道了他们对应的流程图画法,还有fabs代表绝对值。
(2)所学难点
刚开始学循环语句感觉发蒙,但是现在题做多了熟练点就好了,在PTA中有几道题感觉读着题目还好理解但是做起来还是有点费劲。
要求五
(1)被点评同学链接
曹琪:http://www.cnblogs.com/blueblog6/p/7818648.html
孙娜:http://www.cnblogs.com/sun-na-/p/7825690.html
孙佳钰:http://www.cnblogs.com/woshisun/p/7834361.html
(2)表格及折线图