第七周作业
7-3 求交错序列前N项和
1.实验代码
#include <stdio.h>
#include <math.h>
int main()
{
int a,b,c,d,e,f;
float m,sum;
sum = 0;
scanf("%d",&a);
for(b = 1,c = 1,d = 2,e = -1,f = 1;b <= a;b = b + 1,c = c + 2,d = d + 1,f = pow(e,d))
{
m = (b * 1.0f) / c;
sum = sum + (m * f);
}
printf("%.3f",sum);
}
2.设计思路
(1)
第一步:定义分子与分子分母变量a,b,c用于-1的变量f,e,d。
第二步:由题可知在循环中使分子和变量b,d每次增加1分母c每次增加2并且使-1每次进行递增次幂计算。
第三步:分子分母部分相除计算并乘以变量-1得到每项m的值。
第四步:当b大于a时跳出循环。
第五步:使每次m的值相加得到sum的值。
(2)
3.问题
一开始定义量过多导致计算频繁出错,经过一步步简化后问题得到解决。
4.PTA提交列表
7-5 统计学生平均成绩与及格人数
1.实验代码
#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);
}
2.设计思路
(1)
第一步:定义总人数a变量c每人成绩b及格数d总数sum和平均值average。
第二步:建立循环每次c增加1直到c大于人数a跳出。
第三步:在循环内输入成绩b并判断是否及格,及格d加1,不及格d数量加0。
第四步:每输入一人成绩sum增加该成绩。
第五步:跳出循环后sum值除以人数a得到平均值。
第六步:分别输出平均成绩和及格人数。
(2)
3.问题
一开始对变量输入感觉无从下手经过多次尝试后得到解决方法,对循环中计数书写混乱,经过一步步调试后找到了最佳方案。
4.PTA提交列表
要求四
1.git地址
https://git.coding.net/z732511533/ZYS.git
2.截图
要求五
1.学习内容
学习了while,for语句循环,在循环中嵌套等。
2.难点,知识点
多个循环嵌套时理解比较混乱,素数的判断较难,在语句中的空格输出格式难掌控。
要求六
1.点评
于耀淞:http://www.cnblogs.com/jsjyys/p/7826828.html
张国庆:http://www.cnblogs.com/zgq947/p/7856360.html
丰大为:http://www.cnblogs.com/DavidPark/p/7846082.html
2.表格,流程图
时间 | 代码行数 | 时间1(min) | 博客字数 | 时间2(min) | 知识点 |
---|---|---|---|---|---|
11.10 | 150 | 90 | 0 | 0 | while语句 |
11.11 | 60 | 40 | 0 | 0 | while语句 |
11.12 | 400 | 230 | 0 | 0 | while语句 |
11.13 | 60 | 40 | 0 | 0 | do while语句 |
11.14 | 50 | 30 | 0 | 0 | for语句,while语句 |
11.15 | 40 | 30 | 0 | 0 | for语句,while语句 |
11.16 | 50 | 40 | 0 | 0 | while语句 |
11.17 | 30 | 20 | 0 | 0 | while语句 |
11.18 | 100 | 120 | 491 | 140 | while语句 |