yob。

C语言博客作业--函数

一、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提交列表情况说明

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

题目三:6-7 使用函数输出指定范围内的完数

1. 本题PTA提交列表

2. 设计思路

  • 1.定义循环变量i,sum用于存放因子和

  • 2.当输入的number为1时,直接返回1

  • 3.for(i=1;i<=number-1;i++), sum=sum+i;利用循环计算因子和

  • 4.返回sum

  • 1.定义循环变量i,j,flag在数是完数时值改变

  • 2.for(i=m;i<=n;i++)判断m和n之间的数是否为完数 if(factorsum(i)==i)

  • 3.printf("%d = 1",i);若是,输出所有完数共有的因子1;

  • 4.flag=1;

    1. for(j=2;j<=i-1;j++){利用循环输出因子输出因子 if(i%j==0) printf(" + %d",j);
    1. 换行
  • 7.若flag值没有改变,输出No perfect number

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,及时总结错误

posted on 2017-11-18 22:49  emmmm。。。  阅读(409)  评论(2编辑  收藏  举报

导航