zoukankan      html  css  js  c++  java
  • 第七周作业

    要求一:

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

    (1)《usth-C语言基础-第七周作业》的截图

    (2)《usth-C语言基础-12周PTA作业》的截图

    备注:单选题虽然是零分,但是我已做完,只是不正确。

    要求二:

    7-3 求交错序列前N项和

    1.实验代码

    #include <stdio.h>
    #include <math.h>
    int main()
    {
      int n,a=1,b=1,i=1;
      double sum=0.0;
      scanf("%d",&n);
      while(i<=n){
        sum=sum+1.0*a/b*pow((-1),i+1);
    	i++;
        a=a+1;
        b=b+2; 
      }
      printf("%.3lf",sum);
      return 0;
    }
    

    2 设计思路
    (1)算法
    第一步:把n,a,b,i设置为整形变量,且a=1,b=1,i=1。其中n为你输入的正整数,a为分子,b为分母,i为循环计数;
    第二步:把得到的和sum设置为浮点形变量;
    第三步:输入正整数n;
    第四步:写循环语句:
    当i<=n是进入循环,计算sum=sum+a/b*pow((-1),i+1),期间i每循环一次加一,依题得,分子每次都加一,分母每次都加二,因此a每循环一次加一,b每循环一次加二;
    第五步:输出sum的值。
    注意:(1)输出sum的值要保留三位小数;(2)本题是减加减加循环,所以我用的方法是pow((-1),i+1),就是(-1)的i+1次方。
    (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.05) / a;
        }
        else if(a == 0)
        {
        	average = 0;
        	d = 0;
    	}
    	printf("average = %.1f
    count = %d",average,d);
    }
    

    2 设计思路
    (1)算法
    第一步:把输入成绩的个数 a,学生成绩b,循环次数c,成绩总和sum,及格人数d设置为整形变量;
    第二步:把学生成绩的平均数average设置为浮点形变量;
    第三步:输入学生成绩的个数a;
    第四步:判断语句:
    判断a是否为零,若不为零,进入循环语句,若为零,则平均值,及格人数都为零;
    第五步:循环语句(其中还有一个判断语句):
    判断c是否小于等于a,若成立进入循环。输入学生成绩b,判断学生成绩是否大于等于60,若是,则及格人数d加一,若不是,则及格人数d加零,之后再计算成绩的总和,循环计数c再加上一;
    第六步:如果a不等于零的循环结束,跳出循环求平均值average;
    第七步:输出学生成绩平均值和学生成绩及格的人数。
    注意:average = (sum + 0.05) / a,中加0.05是为了四舍五入,为什么加0.05而不是0.5呢,是因为加0.05是为了在小数点后一位精确,而不是在个位。
    (2)流程图

    3.本题调试过程碰到问题及解决办法
    错误:部分正确。


    解决办法:分析题目结果和错误提示发现,错误在没有四舍五入,而第二个错误也在四舍五入出了问题,应把小数点后一位根据第二位四舍五入,而不是对个位数四舍五入。
    4.本题PTA提交列表

    要求三:

    (1)Git地址:https://git.coding.net/jsjyuyaosong/usth--work.c.git
    (2)上传截图

    要求四:

    作业互评

    吴晓明:http://www.cnblogs.com/gu-an-cheng-wxm/p/7850962.html
    孙铭婧:http://www.cnblogs.com/sun031915/p/7845595.html#3843670
    王姝雯:http://www.cnblogs.com/phsudie/p/7837488.html

    要求五:

    个人总结

    (1)①本周你学习了哪些内容?②收获了什么?
    ①本周我学习了循环语句,while,do...while,for,还有类似多重循环的东西。②收获了这些循环知识点。
    (2)①本周所学内容中你觉得哪些是难点?②有哪些知识点还不明白?
    ①我认为循环语句的框架不是难点,而分析题目是难点。②依题目做题我认为很困难,而其核心在于分析,所以我要多训练,多巩固与总结。

    要求六:

    学习进度表与折线图


    IT小白
  • 相关阅读:
    SpringMVC的各种注解
    ThreadLocal的一些总结
    HashTable和HashMap
    SaxReader读取xml
    Java多线程(七):ReentrantLock
    Java多线程(六):wait(),notify()和notifyAll()
    Java多线程(五):死锁
    Java多线程(四):volatile
    Java多线程(三):synchronized
    每日一题,每日一字
  • 原文地址:https://www.cnblogs.com/jsjyys/p/7826828.html
Copyright © 2011-2022 走看看