• C语言I博客作业07


    一、本周教学内容&目标

    第3章 分支结构 3.3 使学生熟悉多分支结构switch语句的使用。

    二、本周作业头

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9934
    我在这个课程的目标是 掌握C语言,灵活运用C语言编程
    这个作业在那个具体方面帮助我实现目标 运用switch语句来编程写代码
    参考文献 百度以及C语言程序设计教材

    1.PTA实验作业

    1.1 7-12 统计学生成绩

    本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
    
    大于等于90分为A;
    小于90且大于等于80为B;
    小于80且大于等于70为C;
    小于70且大于等于60为D;
    小于60为E。
    输入格式:
    输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。
    
    输出格式:
    在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。
    

    1.1.1数据处理

    数据表达:定义了N为学生人数的整形变量,score为分数的整形变量,a,b,c,d,e为统计个数的整形变量
    数据处理:
    for(i=1;i<=N;i++)
    输入score
    s=score/10;(设置s的表达式)
    switch(s)
    case 常数表达式:个数++;break;
    输出个数
    

    1.1.2实验代码截图


    1.1.3 造测试数据

    输入数据 输出数据 说明
    7 ,77 54 92 73 60 65 69 1 0 2 3 1 题目示例
    10,12 31 95 100 56 85 97 94 62 71 4 1 1 1 3 含有100的数字
    3,87 99 100 2 1 0 0 0 人数不满6人时

    1.1.4 PTA提交列表及说明

    提交列表说明:
    1.编译错误:忘记定义s了,后来定义了整形变量
    2.部分错误:没有考虑100的情况,后来增添了case 10:
    

    1.2 7-13 整数的分类处理

    给定 N 个正整数,要求你从中得到下列三种计算结果:
    
    A1 = 能被 3 整除的最大整数
    A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数
    A3 = 存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)
    输入格式:
    输入首先在第一行给出一个正整数 N,随后一行给出 N 个正整数。所有数字都不超过 100,同行数字以空格分隔。
    
    输出格式:
    在一行中顺序输出 A1、A2、A3的值,其间以 1 个空格分隔。如果某个数字不存在,则对应输出NONE。
    

    1.2.1 数据处理

    数据表达:定义了N整形变量为N个正整数,整形变量n为正整数,整形变量sum和b为累计数量,整形变量total为数量之和
    数据处理:
    for(i=1;i<=N;i++)
    输入n
    if(除以3余数为0且取最大数字的情况)
    sign1标记
    if(除以3余数为1的情况)
    累计次数
    sign2标记
    if(除以3余数为2的情况)
    统计数目之和
    sign3标记
    switch语句
    case sign...:printf(输出);break;
    defalut: printf(输出);break;
    

    1.2.2 实验代码截图


    1.2.3 造测试数据

    输入数据 输出数据 说明
    8,5 8 7 6 9 1 3 10 9 3 6.5 题目示例
    8,15 18 7 6 9 1 3 10 18 3 NONE 题目示例
    3,9 6 7 9 1 NONE 没有余数为2的情况输出
    5,18 9 5 7 8 18 1 6.5 随机输入5个数

    1.2.4 PTA提交列表及说明

    提交列表说明:
    1.多种错误:包括格式错误以及答案错误,格式错误:后面输出没有多打一个空格,加空格就可以了,答案错误:当时没有改正也不知道错误在哪里
    2.部分错误:当时sign1,sign2,sign3没有为0,后面加了sign1=0,sign2=0,sign3=0;
    

    2.代码互评

    题目:统计学生成绩

    同学代码:来自计科一班彭齐家同学

    我的代码:


    不同点:
    1.他将60分以下的成绩统一为default,而我是将他们展开作答
    

    题目:计算天数

    同学代码:来自计科二班李定鸿同学


    我的代码:


    不同点:
    1.他没有使用循环语句,直接带入if的语句
    2.他的是在if判断闰年,且月数要大于二月,则日期就加一天,再进行switch语句,若不满足if条件,直接进行switch语句,我的则是在switch语句中判断if中的条件是否满足
    

    3.学习总结

    3.1 学习进度条

    3.2 累积代码行和博客字数


    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    老师说,驽马十驾,功在不舍,所以我要对自己要自信一点,总会有一天自己可以很好,只要自己努力刻苦不放弃,然后现在编辑博客园的速度变快了,用新知识写代码的速度还是比较慢,可能是新知识掌握不牢固,然后希望自己多去查阅资料,然后去弄懂,然后每天去收获一点新知识,坚持预习以及复习,相信努力会有回报的,坚持代码,多做题目,但还是希望老师花多一点时间在新知识点上,可以兼顾之前学习的点!

  • 相关阅读:
    PostgreSQL安装的后续工作
    进程在Linux上实际需要多少内存
    PostgreSQL的大对象以及空间使用 (3)
    PostgreSQL的大对象以及空间使用 (2)
    PostgreSQL的大对象以及空间使用 (1)
    PostgreSQL的WAL(4)--WAL创建和调优
    Cannot set Column 'EffectiveDate' to be null. Please use DBNull instead.
    除去datatable的空行
    sql like in 语句获取以逗号分割的字段内的数据
    el-cascader 设置选中任意一级
  • 原文地址:https://www.cnblogs.com/gm12/p/11812531.html
Copyright © 2020-2023  润新知