码迷,mamicode.com
首页 > 编程语言 > 详细

C语言博客作业--函数

时间:2017-11-19 02:03:44      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:错误   依赖   没有   十六进制   class   不能   进入   通过   定义   

一、PTA实验作业

题目一:6-3 使用函数判断完全平方数

1. 本题PTA提交列表

技术分享图片

2. 设计思路

  • 1.定义整型变量i为循环变量,x是返回值
  • 2.若n==0,则x=1
  • 3.若n小于0,x=0
  • 4.若x大于0,赋初值等于1,当i小于等于n进入循环,每循环一次i值加一
  • 5.若i乘i等于n,则x=1,跳出循环
  • 6.否则x=0
  • 7.返回x的值

3.本题调试过程碰到问题及PTA提交列表情况说明

  • 1.分层不够明确,最开始忘记把负数整数和0分开,后经过思考明白
  • 2.0也是完全平方数,之前确把0当做非完全平方数处理,pta提交列表显示监测点0错误,后改正
  • 3.使用了多种语句,大括号的添加不适当,造成了编译错误,经devc调试改正

题目2:6-5 使用函数输出一个整数的逆序数

1. 本题PTA提交列表

技术分享图片

2. 设计思路

  • 1.定义整型变量y为x的逆序数,a是x每次除十取余后的结果,b用来统计整数位数
  • 2.令b=0,y=0,c=x
  • 3.当c不等于0进入while循环
  • 4.对c除十取整
  • 5.x每除一位,b值自增1
  • 6.当x小于0时d=-x,大于零d=x
  • 7.令i==b,当i大于零进行循环,每循环一次i值减1
  • 8.a=d每次除十后的余数
  • 9.d大于10时,d=其除十取整
  • 10.x不大于十,x的值不变
  • 11.y=y+a*pow(10,(i-1)
  • 12.x小于0,y=-y,x大于0,y=y,返回y值

3.本题调试过程碰到问题及PTA提交列表情况说明

技术分享图片

技术分享图片

没有考虑到负数和正数在取整和取余上是有区别的,对负数得将其变为正数之后才能进行取整取余操作

二、同学代码结对互评

1.同学互评照片。

技术分享图片

2.我的代码、互评同学代码截图

我的代码:

技术分享图片
同学代码:
技术分享图片

3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?

  • 1.设计思路完全不同,我用了嵌套循环,同学是先直接将这个三位数的每一位都表示出来再和4进行比较
  • 2.我的代码较简洁,同学的代码较长,但是思路很明确,将三位数每一位都抽离,看共有几位四,而我是在循环中将每一位数与四比较
  • 3.同学的思路给了我新的启发,这道题也可以不用循环来解,循环的设计总会有点麻烦,代码太长也会显得太过复杂,两种代码都各有所长,难分伯仲

三、截图本周题目集的PTA最后排名

技术分享图片

四、本周学习总结

1.你学会了什么?

1.1 C语言哪些数据类型?

  • 1.有符号整型int,数据长度32位,有符号短整型short[int],长度16位,有符号长整型long[int]长度32位
  • 2.无符号类:整型unsigned[int]长度32位长整型unsignedlong[int]32位短整型unsignedshort[int]16位
  • 3.字符型类型名char,数据长度8位
  • 4.实型(浮点型),单精度:float数据长度32位;双精度:double数据长度64位

1.2 字符型数据需要注意地方?

  • 1.字符型变量的值可以是字符也可以是整数,整型变量和字符型变量的值都可以相互交换
  • 2.一个字母的大小写是不同的字符型常量
  • 3.0和‘0’,前者是整型常量,后者才是字符型常量
  • 4.转义字符:由反斜杠加上一个字符或数字组成

1.3 自增自减运算符?

  • 1.++n的运算顺序是:先执行n=n+1,再将n的值作为表达时n++的值
  • 2.n++的运算顺序:先将n作为表达时n++的值。再执行n=n加一
  • 3.注意:上述执行完最终n值都会改变

1.4 运算符优先级?

  • 1.逗号运算优先级最低,它是从左到右运算;其次是赋值运算,它是从右到左进行运算
  • 2.按从高到底顺序:逻辑运算符非-关系运算符(单目-双目)-关系运算符-逻辑运算符与或-条件表达式

1.5 C语言哪些表达式?课堂派哪里做错,做错的请在这里分析原因?

  • 1.第二小题做错x++是将x的值作为x++的值再乘以y,最后结果应为10。错因:x++的值算错,将其误以为x++=x+1
  • 2.3:表达式a+=a-+a*a,没有搞清楚运算顺序,运算后也没有及时改变a的值
  • 3.第四题:8>6的判别式只有两个结果,一个是1一个是0
  • 4.题目是想转换成数值,而不是字母
    .###6 其他内容?
  • 1.浮点数:小数点钱如果是0可以省略,e之前必有数字,e之后必为整数
  • 2.=是赋值府 ,经过=号的变量值会改变
  • 3.运算符的优先级可以通过加大括号来改变

2.本周的内容,你还不会什么?

  • 1.字符型和数据型变量之间的转换
  • 2.八进制和十六进制用反义字符的表示

3.循环结构考试总结

1.哪题做错了,怎么改?

  • 1.第一题最后终于做出来了,但是过程浪费了很多时间,因为变量数据类型的定义错误

2.考试结果满意么,怎么改进?

  • 1.不满意,平时应该好好写作业,不能抱着应付的心态,能少写就不多写
  • 2.还是依赖别人,要独立解决自己完成

    3.其他总结

  • 1.平时做题习惯很重要
  • 2,及时总结错误

C语言博客作业--函数

标签:错误   依赖   没有   十六进制   class   不能   进入   通过   定义   

原文地址:http://www.cnblogs.com/shenshanxizhao/p/7857937.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!