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后加上空格,才解决了格式错误

posted @ 2019-11-08 08:55  依旧是缘来的你  阅读(286)  评论(6编辑  收藏  举报