zoukankan      html  css  js  c++  java
  • C语言I博客作业07

    问题 回答
    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 作业要求
    我在这个课程的目标是 能够自主开发出一个软件,拥有用户并能够维护程序运行
    这个作业在那个具体方面帮助我实现目标 学习到一种新的分支结构switch语句,对C语言有进一步了解,学会写伪代码理清编程思路
    参考文献 CSDN技术社区

    PTA实验作业

    1.1统计学生成绩

    本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:

    • 大于等于90分为A;
    • 小于90且大于等于80为B;
    • 小于80且大于等于70为C;
    • 小于70且大于等于60为D;
    • 小于60为E。

    输入格式:

    输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。

    输出格式:

    在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。

    输入样例:

    7
    77 54 92 73 60 65 69
    

    输出样例:

    1 0 2 3 1
    

    1.1.1数据处理

    数据表达:使用了n,i,grade,a,b,c,d,e八个变量,都定义为整型

    数据处理:

    Begin

    输入学生人数n

    利用for语句循环输入每位学生成绩grade

    利用switch语句对每位学生成绩进行判断并接收结果

    将判断结果储存到a,b,c,d,e中(a,b,c,d,e表示各阶段人数累加量)

    输出各阶段人数

    End

    1.1.2实验代码贴图

    1.1.3造测试数据

    输入数据 输出数据 说明
    1 0 0 0 0 0 1 最小人数最低成绩
    6 0 80 60 70 90 100 2 1 1 1 1 含各分数段,最大有100分

    1.1.4PTA提交列表及说明

    • 部分正确:忽略了满分情况,没写入case10

    • 部分正确:输出格式未空格

    1.2整数的分类处理

    给定 N 个正整数,要求你从中得到下列三种计算结果:

    • A1 = 能被 3 整除的最大整数
    • A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数
    • A3 = 存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)

    输入格式:

    输入首先在第一行给出一个正整数 N,随后一行给出 N 个正整数。所有数字都不超过 100,同行数字以空格分隔。

    输出格式:

    在一行中顺序输出 A1、A2、A3的值,其间以 1 个空格分隔。如果某个数字不存在,则对应输出NONE

    输入样例 1:

    8
    5 8 7 6 9 1 3 10
    

    输出样例 1:

    9 3 6.5
    

    输入样例 2:

    8
    15 18 7 6 9 1 3 10
    

    输出样例 2:

    18 3 NONE
    

    1.2.1数据处理

    数据表达:使用变量n,i,a1,a2,a3,b1,b2,b3,sum,d,都定义为整型,a1,a2,a3用于输出,b1,b2,b3辅助判断

    数据处理:

    Begin

    输入整数个数n

    利用for语句循环输入整数d

    if-else语句判断整数d除以三的余数情况

    a1,a2,a3根据判断结果进行计算并接收结果

    在每种情况中给b1,b2,b3赋值进行辅助判断

    switch语句判断辅助判断变量的值

    输出a1,a2,a3结果

    End

    1.2.2实验代码贴图

    1.2.3造测试数据

    输入数据 输出数据 说明
    6 7 6 9 0 1 9 9 2 NONE 第一种情况中出现两个最大值
    0 NONE NONE NONE 最小n

    1.2.4PTA提交列表及说明

    • 答案错误:没有注意输出时的空格问题
    • 答案错误:switch语句中没写break导致输出错误

    2代码互评

    题目:二进制转10进制

    classmate1

    classmate2

    myself

    1.输入时,c1使用的是函数scanf(),而我使用的是函数getchar(),区别是,getchar()每次只能读入一个字符,而scanf()则不是

    2.在判断是否为二进制数时,c2用逻辑符号'||'连接了两个条件,首先判断是二进制数时进行进制转换,而我是用逻辑符号'&&'连接条件判断不为二进制数时输出'error input!'

    3.学习总结

    3.1学习进度条

    这周所花时间 代码行 学到的知识简洁 目前比较迷惑的问题
    第五周 8 56行 常量,变量和数据类型
    第六周 12 89行 格式化输入函数scanf(),for循环
    第七周 19 286行 分支结构
    第八周 15 238行 函数的定义和调用 函数的定义和调用的基本用法
    第九周 10 173行 while语句,函数的定义和调用强化 被调函数返回值
    第十周 20 312行 逻辑运算符优先级,定义和访问数组 逻辑表达式的运算
    第十一周 11 189行 switch语句,ASCⅡ码的了解 进制转换

    3.2累积代码行和博客字数

    3.3学习内容总结和感悟

    3.3.1学习内容总结

    3.3.2学习体会

    本周其实学习到的东西挺少的,但我感觉到了跟其他几位的助教的差距,他们能够在完成作业代码后,还会利用其他时间去刷题,而我是没有的,所以也就导致了我可能一周学习了较长时间的程序设计,但是效率不高,大不分时间因为没有解题思路而流失,所以学会利用时间真的很重要。这也需要自己的努力。尝试在下周列出安排表,按步进行。

  • 相关阅读:
    _I、_O、_IO的含义
    ARM启动代码中_main 与用户主程序main()的区别
    ARM汇编程序中的伪指令
    oracle密码过期问题
    等待界面-调转页面前button篇
    等待效果
    winfrom中Application.Restart()
    自动刷新处理
    泛微E8二次开发
    我的菜园子
  • 原文地址:https://www.cnblogs.com/whl666/p/11813848.html
Copyright © 2011-2022 走看看