导航

第二次博客作业

目前自己学习中存在的薄弱的知识点具体有哪些?每个薄弱的知识点都是如何获知的,每个薄弱的知识点需要列举具体的例子说明。

       函数:函数的引用调用、嵌套调用、递归调用;作用域和存储类别;程序的多文件组织。

  预编译处理。

  数组:例子:冒泡排序、选择排序、插入排序、顺序查找、折半查找(能基本理解但还没能独立写出来);字符串处理函数。

  导出数据:结构体、共用体、枚举类型。

  指针:二维数组的地址或值的表示方法(例子:有定义“int a[3][4]”,一下子反应不过来a+1指向a[1]);行指针变量的使用;利用字符指针数组处理字符串;DOS命令行(课堂上听不懂,课后搞不懂)。

  类:set get 函数的运用及使用类时数据的流向(课本例10.4理解得不透)。

  (除有标注外,其他列举的薄弱知识点属于编程时还未经常用到故运用上不是很熟练的知识点)

从第五章函数到第七章数组的函数题和编程题(主要是在PTA)中选出至少一道你觉得比较有挑战的题(已解决且不是奇奇的题)。写出解题报告包括:(1)题目大意;(2)解题思路;(3)代码思路,比如画出流程图;(4)核心技术总结;(5)解题过程中存在的问题,以及如何得到解决的。

  统计学生平均成绩与及格人数 (18 分)

题目大意:要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。

输入格式:

输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。

输出格式:

按照以下格式输出:

average = 成绩均值

count = 及格人数

其中平均值精确到小数点后一位。

 

解题思路:累加学生的成绩除以总人数可得到平均成绩;逐个进行成绩与60分的比较,用累加器得到及格(成绩不低于60分)的人数。

代码思路:1.输入学生人数;

     2.判断学生人数是否为0,若是,输出"average = 0.0 count = 0"且跳过后面的步骤;若否,执行下面的步骤;

        3.输入学生成绩;

        4.累加学生的成绩除以总人数得平均成绩; 

        5.逐个进行成绩与60分的比较,用累加器得到及格(成绩不低于60分)的人数;

        6.按题目要求的格式输出。

核心技术总结:累加求和;判断语句与累加器的结合使用。

做题时遇到的问题:算法不难实现,但是题目要求的平均值输出是精确到小数点后一位,一开始我定义求成绩总和的数据的数据类型是int型,平均值为float型,平台提示结果错误。后来反省发现,int型除以int型的结果赋给一个flaot型的变量是先得到int型强制转化数据类型,最后得到的平均值的小数部分总是0,结果不准确。进行了更正,将总和的数据类型设置为float型即可。

 

posted on 2018-12-08 01:03  Binet  阅读(597)  评论(0编辑  收藏  举报