C语言I博客作业08

时光怂恿深爱的人放手 提交于 2019-12-04 12:10:41
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I作业08
我在这个课程的目标是 熟悉使用while和do-while结构解决问题
这个作业在那个具体方面帮助我实现目标 在作业中不断总结错误,更好地掌握了C语言
参考文献 C语言

1.PTA实验作业

1.1题目1:7-3 jmu-c-二进制转10进制

  • 题目内容描述:输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出error input!

    1.1.1数据处理

    数据表达
  • 定义字符ch,整形变量sum存放结果,整形变量flag用于辅助判断。

    数据处理
  • 使用了while循环语句,while(ch!='\n)回车作为结束标志。
  • 使用了switch语句,switch(ch)当输入新二进制字符十进制数*2+字符实现二进制转十进制。
  • default ch='\n'当输入非二进制输出“error input!”,并结束循环。
  • if(flag==0)printf(“%d”,sum)输入非法字符时不输出sum。

    伪代码

    1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
1 1 二进制中1对应十进制中1
11111111 255 二进制中11111111对应十进制中255
34 error input 34是非二进制字符

1.1.4 PTA提交列表及说明

  • 编译错误:第十行“%c”打成‘%c’,未注意引用号,
  • 部分正确:第二十行中"error input!\n"打成了"error input!",\n未打
  • 编译错误:第二十八行 printf("%d",sum);未打sum。

1.2 题目2:7-5 爬动的蠕虫

  • 题目内容描述:一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)

    1.2.1数据处理

  • 数据表达:定义了整形变量N,U,D,L,time。N代表水井深度,U代表蠕虫每分钟向上高度,D表示蠕虫每分钟又下滑高度 ,L为虫子消耗的时间 。
  • 数据处理:用了while语句进行循环,if语句进行条件判定。用了表达式 L=L+U表示蠕虫爬的高度。用了表达式 L>=N,break;L=L-D;time++;表示蠕虫爬出的时间。

    伪代码

1.2.2实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
15 5 1 7 深15寸的水井,每分钟上爬5寸,每分钟下滑1寸,爬到井顶要7分钟
20 3 1 19 深20寸的水井,每分钟上爬3寸,每分钟下滑1寸,爬到井顶要19分钟
50 40 30 3 深50寸的水井,每分钟上爬540寸,每分钟下滑30寸,爬到井顶要3分钟

1.2.4 PTA提交列表及说明

  • 编译错误:第7行将time=L=0打成了time=0
  • 编译错误:第10行将time++;打成L++。
  • 编译错误:第17行将printf("%d",time)打成printf("%d",L)。

2.代码互评

  • 同学代码
  • 自己代码

    比较

  • 1.他定义了一个变量x,我定义了变量sum,并以存放十进制数字flag辅助判断。
  • 2.while循环语句进行条件的表达式是一样的都是(ch!='\n')。
  • 3.他case'0',case'1'的表达式分开表示,分别为x=2x+0,x=2x+1,我的表达式只有一条为sum=sum*2+ch-'0'。

  • 同学代码

  • 自己代码

比较

  • 1.我定义了一变量N,U,D,L,time,而他定义了变量n,u,d,t,path,并给t,path赋了初始值。
  • 2.他运用了do-while语句和if-else语句,而我用了while语句。
  • 3.因为语句不同,所以对计算时间的消耗的表达式也不同,我分L=N两种情况讨论,而他分了当t%2!=0的情况和除t%2!=0之外的情况。
  • 4.我认为两个代码各有优点,是两种不同的思路,表达式完全不同,有值得借鉴的地方。

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第六周 20小时 150行
第七周 24小时 150行 运用if,else语句 对符号的意思不太理解
第八周 18小时 200行 运用for循环语句
第九周/10.25 8小时 200行 学习了自定义函数 符号容易弄混
第十周/11.1 26小时 250行 熟悉并掌握了多分支结构 各个运算符的意思还不太理解
第十一周/11.8 24小时 300行 熟悉并掌握分支结构switch语句 对空格的使用还比较疑惑
第十二周/11.15 18小时 380行 学会使用while和do-while结构解决问题

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

  • 本周熟悉并掌握了while和do-while结构语句,其实在之前作业里就有用到,这次是加以巩固。
  • 同时也清楚了for语句和while语句的区别,对C语言的认识又有了更深层次的了解。对字符的使用也更得心应手了。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!