第七周作业
要求二
题目7-3求交错前N项和
1.实验代码
#include<stdio.h> int main() { int i,N; int flag=1; double sum; scanf("%d",&N); for(i=1;i<=N;i++) { sum=sum+i*1.0/(2*i-1)*flag; flag=-flag; } printf("%0.3f",sum); return 0; }
2.设计思路
(1)主要描述题目算法
①首先,认真审题。本题要求:计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
在题目的末尾还有要求:结果保留三位小数。
②这道题肯定要用到循环语句,联想到我们所学的知识,用for语句简单。
第一项1,第二项是2/3,第三项是3/5,第四项是4/7。然后各项相加
我运用公式:sum=sum+i*1.0/(2*i-1)
但是题目并不是这样 仔细发现
第一项1,第二项是-2/3,第三项是+3/5,第四项是-4/7。
每一项都要换符号,这样我在公式末尾加一个变量fiag;
这样加一个公式fiag=-flag,就可以每一项都变换符号。
③编译运行检查,是否有误。
(2)流程图
3.本题调试过程中遇到的问题及解决方法
错误截图
遇到的问题:输出的 答案总是错误
解决方法: 联想牛小霞老师上课说的因为 i是用整型定义的, 所以 i 需要变成i*1.0
4.本题pta提交列表
题目五-统计学生平均成绩及及格人数
1.实验代码
#include <stdio.h> int main(){ int i,n; double total=0,grade; int count=0; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%lf",&grade); if (grade>=60) count=count+1; total=total+grade; } if(n==0) printf("average = 0.0\n"); else printf("average = %.1f\n",total/n); printf("count = %d",count); return 0; }
2.设计思路
(1)主要描述题目算法
①仔细读题 题干主要讲述: 计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。
还有要求:第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。
②定义变量:整型 i----代表循环次数 n----代表人数 count-----代表及格人数
浮点型 grade-----代表每个人的 成绩 total----代表总成绩
③利用for语句执行循环for(i=1;i<=n;i++)
在其中加入计算公式total=total+grade
然后要计算及格人数 if (grade>=60) count=count+1
④编译运行,检查是否有误。
(2)流程图
3.本题调试过程中碰到的问题及解决办法
错误截图
遇到问题: 一开始编译的时候显示最后一行有编译错误
解决办法:经过自己仔细观察,for循环语句中缺少}
4.pta提交列表
要求三(附加作业)
一. 题目7-1 1-100求和
1.实验代码
#include<stdio.h> int main() { int i=0; int sum=0; while(i<=99) {i=i+1,sum=sum+i;} printf("sum = %d",sum); return 0; }
2.设计思路
(1)题目算法
第一步:认真读题,理解题意:计算表达式 1 + 2 + 3 + ... + 100 的值。
第二步:利用while循环语句,和公式计算i=i+1,sum=sum+i;完成此题计算要求。
第三步:编译运行,检查是否有误。
(2)流程图
(3).本题调试过程中碰到的问题 及解决办法
错误截图
遇到的问题:条件设为i<=100总是答案错误
解决方法:询问同学while循环语句要自身循环一次,所以条件应改为i<=99
(4).本题pta错误提交列表
要求四
git地址:https://coding.net/u/zhangle1234567/p/pta7/git/tree/master/
coding截图
要求五
个人总结
(1)本周学习内容和收获:
1.while 循环;
2.do while循环;
3.for循环;
4.break语句和continue语句
4.嵌套循环
(2)难点
变量与循环体的关系
要求六
互评和学习进度
1. 我评论同学的博客链接:
徐敬淇http://www.cnblogs.com/SR1011/p/7853220.html
林梦 http://www.cnblogs.com/lin2580/p/7841437.html
汪智恒http://www.cnblogs.com/wangzhiheng/p/7806065.html
2、请用表格和折线图呈现你本周(11/9 13:00~11/19 8:00)的代码行数和时间、博客字数和时间、涉及的知识点