• C语言I博客作业07


    作业头

    这个作业属于哪个课程 C语言程序设计II
    这个作业的要求在哪里 C语言I作业07
    我在这门课程的目标是 学好C语言为学习以后学习其他的语言做准备
    这个作业在那个具体方面帮助我实现目标 对while循环语句的运用,思考能力等
    参考文献 《C语言程序设计I》,Dev-c++.

    1.PTA实验作业

    1.1统计学生成绩

    1.题目内容描述:
    要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:

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

    1.1.1数据处理.

    1.数据表达:

    • (1).定义了n(学生人数),x(学生成绩),i(为增量,记录应输入多少个成绩),A,B,C,D,E,F,G,H,I,J,K分别为记录达到某个等次的次数,都为整型。
    • (2).运用了for()循环语句,还有switch语句。
      2.数据处理:
    • (1).循环结构.for(i=1;i<=n;i++) ,switch(x/10)。
    • (2).运算处理. E+=F+G+H+J+K;A++,B++,C++,D++,E++,F++,G++,H++,J++,K++.

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    6 输出数据 每一个等次都有
    5 输出数据 分数都小于60
    5 输出数据 分数都在60到70之间
    5 输出数据 分数都在70到80之间
    10 输出数据 分数在每个等次都有涉及

    1.1.4 PTA提交列表及说明

    • 根据PTA提交列表,简要描述调试程序碰到的问题及解决办法.
    • 1编译错误:开始的时候没有对F,G,H,I,J定义;
    • 2部分正确:没有对F,G,H,I,J,K达到某个等次的次数进行合并。

    1.2 计算天数

    1.题目内容描述:

    • 要求编写程序计算某年某月某日是该年中的第几天。

    1.2.1数据处理.

    1.数据表达:

    • (1).定义了 Year,Month,Day,n(天数求和),都为整型。
    • (2).运用了if()条件语句,还有switch语句。
      2.数据处理:
    • (1).结构类型:分支结构;if-else条件语句[if((Year%40&&Year%100!=0)||(Year%4000))];switch(Month)语句.
    • (2).运算处理:n+=Day;

    1.2.2实验代码截图

    1图片 2图片

    1.2.3 造测试数据

    输入数据 输出数据 说明
    2000/04/05 96 闰年
    2099/10/30 303 非闰年

    1.2.4 PTA提交列表及说明

    • 根据PTA提交列表,简要描述调试程序碰到的问题及解决办法.
    • 1部分正确:开始不知道用if-else将闰年与非闰年分开运行,只进行了闰年的代码。
    • 2部分正确:闰月二月份是29天我写成了28天。

    2.代码互评

    1同学代码截图

    2同学代码截图

    3自己代码截图

    与第一位同学的区别

    • 1与第一位同学的区别在于她只是用了A,B,C,D,E这几个增量;而我还用了F,G,H,I,J,K这些增量,还要对属于E等次的求和,挺麻烦的;
    • 2还有她用到了default,对于没有对应的5,4,3,2,1,0;就直接输出E,对此类题用到default的需要蛮大,值得学习。
      与第二位同学的区别
    • 1与第二位同学的区别在于我是略复杂变量的表达式,她是一个简单变量的表达式,因为她在表达式外已经运算好了;
    • 2她case后的表达式比较简单,而我的太复杂了,她的代码与第一位同学的代码在10与9这里一个是否合并成一个A++,这个也是一个技巧,值得学习。

    3.学习总结

    3.1学习进度条

    时间 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第一周 16个小时 28行 学到了编写代码的基本知识,如:顺序结构 符号(英)与(汉)混淆
    第二周 20个小时 20行 学到了运算符,赋值 主要是赋值,在printf中“="左右要空格其他就不用了
    第三周 23个小时 98行 学到了分支结构(if-else),&&,%,幂运算pow,平方根sqrt 对一些新知识不能马上运用
    第四周 16个小时 70行 学到了for语句,求小数点(要求用1.0来除以···),还有该变正负号知识 现在没问题了,在scanf()内&n&m之间要用“,"
    第五周 26个小时 62行 学到了while循环语句,定义函数和调用函数的运用. 在定义函数后不知道如何运用
    第六周 22个小时 154行 学到了if-else if-else的深入使用、用代码解决数学(函数)问题、如求一个数的个,十,百,千位等,还有求成绩的平均值,龟兔赛跑谁快谁慢 对想表达的意思不能够很好的用代码表达
    第七周 20个小时 136行 学到了switch语句的使用,虽然if-else分支结构可以完全取代switch的语句,但是switch也有它的优势,少量选择比较快捷。 对switch语句中不清楚如何嵌入if-else结构

    3.2累计代码行数和博客字数.

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    请用思维导图的形式将到目前为止所学的内容进行整理。

    3.3.2学习体会

    1此次作业让我明白了在编写程序的过程中,可以用不同的语句,分支结构来解决同一个问题,解决一个关于分支的问题,用switch可以解决的问题,同时if-else同样也可以解决,虽然if-else运用广泛,switch也有自己的优势,如:少量选择比较快捷,case的数量没有任何的限制。
    2此次作业让我学会了分支结构switch的运用技巧(1):每一个case后的表达式的返回值必须是独一无二的。不能和其他的case后的值相等。(2):每一个case后的break都是可以没有的。根据具体的要求来判断。(3):在switch语句中,一旦执行了某一个case中的代码块,那么就不再进行任何case的比较,后续的代码都将顺序被执行,直到遇到了break,或者是default语句,整个switch才能被结束。(5):default语句可以没有,看题目的需求(在统计学生成绩这个题上就充分体现了)。
    3琛哥本次pta上第二个编译题有点小问题,让我运行了蛮久,相信下次作业实例模板因该会更好,如果不清楚学校代号是哪个学校,则输出"OtherUniversity"。我运行了很久总是出现格式错误,后来同过与另外几个学校的英文单词对比发现因该要在Other后加上空格,才解决了格式错误

  • 相关阅读:
    [LeetCode] 14. Longest Common Prefix 最长共同前缀
    [LeetCode] 16. 3Sum Closest 最近三数之和
    [LeetCode] 15. 3Sum 三数之和
    [LeetCode] 75. Sort Colors 颜色排序
    [LeetCode] 13. Roman to Integer 罗马数字转为整数
    [LeetCode] 12. Integer to Roman 整数转为罗马数字
    [LeetCode] 8. String to Integer (atoi) 字符串转为整数
    [LeetCode] 9. Palindrome Number 验证回文数字
    [LeetCode] 388. Longest Absolute File Path 最长的绝对文件路径
    [LeetCode] 138. Copy List with Random Pointer 拷贝带随机指针的链表
  • 原文地址:https://www.cnblogs.com/chenyiAndy/p/11818009.html
Copyright © 2020-2023  润新知