第七周作业

要求一(25经验值)

完成PTA中题目集名为《usth-C语言基础-第七周作业》、《usth-C语言基础-12周PTA作业》、《usth-C语言基础-13周PTA作业-1》和《usth-C语言基础-13周PTA作业-2》中的所有题目。

注意1:《usth-C语言基础-12周PTA作业》包括判断、选择和编程多种题型。

注意2:两次作业的截至日期不同,请尽快完成。若存在抄袭现象,倒扣此题所有分数。

注意3:因为博客作业将改为两周一次,所以此部分还包括下周的两次PTA作业。

要求二(20经验值)

博客的具体书写内容和格式
将PTA第七周作业中以下2道题的解题思路按照规定格式写在博客里。

  • 题目7-3 求交错序列前N项和
  • 题目7-5 统计学生平均成绩及及格人数
    举例:
    题目7-3 求交错序列前N项和
    1.实验代码(1经验值)
    注意:将代码贴在此处,必须使用插入代码的方式!!禁止将代码直接粘贴到博客上,否则此题0分。
    2 设计思路(3经验值)
    (1)主要描述题目算法(1经验值)。可以用文字描述(不允许使用伪代码),如:
    第一步:
    第二步:
    (2)流程图(2经验值)
    3.本题调试过程碰到问题及解决办法(3经验值)
    注意1:必须有错误提示的截图。
    注意2:务必请把你遇到的问题是什么以及解决方法描述清楚。若助教或教师无法理解,即为0分。
    注意3:无错误提示截图的扣分。(当然存在一次就过的同学,要看课堂表现和前几次作业成绩来定是否扣分)
    4.本题PTA提交列表(3经验值)
    注意1:是7-1一个题目的提交列表,不是整个作业的。没有提交列表0分。
    注意2:每题只有一次提交记录的扣分。(当然存在一次就过的同学,要看课堂表现和前几次作业成绩来定是否扣分)
    注意3:没有对提交列表中错误提示解释说明的扣分。

题目7-5(每道题对应10经验值)
题目7-5同题目7-3写法相似,先写题目,再按照4个内容书写。4部分都必须写,缺任何一项倒扣该题所有分数!

要求三(共30经验值)

响应大家的要求,减少博客作业,增加PTA作业,从本周开始博客作业每两周一次,PTA作业每一周两次。
注意1:请一定要注意PTA作业的截止日期,每次持续时间在3天左右。
注意2:博客作业只要求必须写出2道题目,PTA中的其他题目如果愿意写在博客中,将会得到0~30经验值,根据你记录的题目数给分,记录的越多给的分越多,封顶是30经验值。需要注意的是,每道题目需要包括4部分:1)题目名称,2)文字描述/流程图说明设计思路,3)调试程序和PTA提交过程中遇到的问题及解决方法。

要求四(5经验值)

请将上述作业的源代码使用git提交到coding.net上,要求给出上传成功后coding.net项目的截图和你的git地址。请注意git地址应是类似“https://git.coding.net/Dawnfox/wf4_2.git”这样的字符串且是可被访问者直接点击进行访问的链接。

要求五(共10经验值)

个人总结
(1)本周你学习了哪些内容?收获了什么?(5经验值)
(2)本周所学内容中你觉得哪些是难点?有哪些知识点还不明白? (5经验值)

要求六(共10经验值)

互评和学习进度
1、点评3个同学的本周作业(在作业中给出被点评同学博客的链接),并邀请3名同学点评你的作业,无点评作业(你的作业未被3人点评)/或者没有回复同学或老师的点评都倒扣该题分数。(5经验值)。
2、请用表格和折线图呈现你本周(11/9 13:00~11/19 8:00)的代码行数和时间、博客字数和时间、涉及的知识点(5经验值)

题目1:

#include <stdio.h>
int main()
{
  int n,m=1;
  double a=0;
  scanf("%d",&n);
  while(n>=m)
  {
    double s=m/(double)(2*m-1);
    if(m%2==0)
    s=-s;
    a=a+s;
    m=m+1;
  }
  printf("%.3lf",a);
}

解题思路:

1 定义n,m,让m等于1

2 定义双精确浮点数s,a,a等于0

3 输入n,当n比m大时,循环:s=m/(2*m-1),若为s转为负数,a=a+s,循环变量m=m+1

4按格式 输出a的双精确浮点数,到小数点后三位

错误:

没有疑难点,就是忘记打循环变量了(第一次)

题目2

#include <stdio.h>
int main()
{
    int a,b=1,c=0;
    float d=0;
    scanf("%d",&a);
    while(b<=a)
    {
        int n;
        scanf("%d",&n);
        d+=n;
        if(n>=60)
        c=c+1;
        b=b+1;
    }
    d/=a;
    if(a==0)
    d=0;
    printf("average = %.1f\ncount = %d",d,c);
    return 0;
}

解题思路:

1 定义a,b,c,n,b=1,c-=0

2 浮点数d=0,输入a

3 当b小于等于a,循环:输入n,d=d+n,n大于等于60,b+1,c+1;

4 d/=a,当a=0,d=0

5 按格式输出

错误

第一次运算超时

学习for结构,其实吧觉得for比while好用,简单清晰,像milo老师说的,还不如不要while要for,但是还是习惯用while做题,这个会慢慢改用for,循环还需要多加练习才会熟悉

点评

http://www.cnblogs.com/jsjyys/p/7826828.html

http://www.cnblogs.com/phsudie/p/7837488.html

http://www.cnblogs.com/wxy5336/p/7828100.html

 

posted @ 2017-11-18 13:47  shilcz  阅读(276)  评论(2编辑  收藏  举报