第七周作业
题目7-3.求交错序列前N项和
-
实验代码
#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;
}
-
设计思路
(1)描述:第一步:根据题意观察每项的特点定义分子为A,分母为B,循环次数为i,结果定义为浮点数。
第二部:分子是按递增顺序依次增加,分母以奇数项依次增加,形成计算方法,列出表达式。
第三步:在条件下执行循环,求和输出结果。
(2)流程图:
-
本题调试过程碰到问题及解决办法:
问题:没有使和(sum)初始化,数列偶数项符号没在程序中表现。
解决办法:没有初始化:根据错误提示核对后修改;偶数项没表现:询问同学在同学帮助下完成。
PTA提交列表:
题目7-5.统计学生平均成绩与及格人数
-
实验代码
#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;
}
-
设计思路
(1)描述:第一步:分析题意,本题要求计算学生平均成绩,需要分类讨论出不同情况。
第二步:定义变量学生序号i,学生人数n,初始化及格人数和总分,根据题目要求使输出的平均值精确到小数点后一位,输入学生人数n。
第三步:需要运用for循环,输入学生成绩,统计出及格人数并且计算出总分,如果学生数为0输出平均值为0,否则按计算平均数公式计算结果。
第四步:按照要求输出格式要求输出成绩均值,及格人数。
(2)流程图:
-
本题调试过程碰到问题及解决办法
问题:第一次做时没有考虑到学生人数为0的情况,输出时没有注意输出格式。 解决方法:重新考虑题目,重新编译,添加学生人数为0的情况,更改了输出格式。
PTA提交列表:
Git地址:
https://git.coding.net/Wrp1/Persistence0.git
coding.net项目的截图:
本周学习内容总结:(1)学习了continue,break语句,并且在课后尝试运用continue,break观察不同输出结果。
(2)学习,复习使用 while, do...while语句,for语句实现循环。
(3) 学习了循环的嵌套最后比较了几种循环。
遇到的问题:
对于老师能听取我们的意见,改变留作业的方式感觉很好,会尽量不断修改完善自己的博客,认真对待作业。
点评同学链接:赵升旗:http://www.cnblogs.com/boke2017boke/
林梦:http://www.cnblogs.com/lin2580/
何宗彦:http://www.cnblogs.com/hezongyan/
学习进度(11.16 12:00~11.18 12:00):
日期 | 代码行数 | 时间 | 博客字数 | 知识点 |
---|---|---|---|---|
11.16 | 60 | 120 | 0 | 尝试continue,break输出结果比较 |
11.17 | 50 | 120 | 0 | 复习while,do...while,for循环语句 |
11.18 | 65 | 120 | 200 | 复习while,do...while,for循环语句 |
折线图: | ||||