C语言I博客作业08

旧城冷巷雨未停 提交于 2019-12-04 14:02:11
这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 http://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9976
我在这个课程的目标是 掌握while语句用法
这个作业在那个具体方面帮助我实现目标 进一步熟悉了while和do-while用法
参考文献 百度百科、primer plus

1.PTA实验作业

1.1题目名:爬动的蠕虫

一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?

1.1.1数据处理

数据表达:定义整形变量N,U,D,L
数据处理:定义N,U,D,L
0赋值给L,t
输入N,U,D;
while(L<N寸){
L=L+U;
t++;
if(L>=N寸)
跳出循环;
else
L=L-D;
t++;。
}
printf("输出蠕虫到井口总时间");

程序结束;

1.1.2实验代码截图

1.1.3 造测试数据

数据输入 数据输出 说明
12 3 1 11 输入样例
1 1 1 1 输入较小数据
20 10 5 5 输入较大数据

1.1.4 PTA提交列表及说明


部分正确:没能考虑到只要头过就算到顶的条件所以公式L=N不正确
解决办法:重新读题目,请教同学,把题目按数学题方法做一次,发现问题,将L=N改为L>=N,解决

1.2 题目名jmu-c-二进制转10进制

输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出error input!

1.2.1数据处理

数据表达:定义字符型变量ch和常量number
数据处理:
定义整型变量number;
定义字符变量ch,调用ch用getchar函数;
while(不按下回车键)
{
switch(ch)
{
case 字符0:
case 字符1:number=number*2+ch-'0';跳出;
default:输出结果"error input";结束
}
ch=getchar();
}
printf("输出n对应的十进制数");
程序结束;

1.2.2 实验代码截图

1.2.3 造测试数据

数据输入 数据输出 说明
11111111 255 输入样例数据
11101 29 输入随机数据
29 error input! 输入非二进制数

1.2.4 PTA提交列表及说明


编译错误:ch=getchar()未加;导致错误
解决办法:在用dev-c++试验后发现漏掉,后补齐
部分正确:default之后用break,但循环出错
解决办法:请教同学后,改用return 0,结束所有语句解决

2.代码互评

同学代码

我的代码

1他使用了数组来解决,而我用了逻辑运算ch=getchar();
2我用了switch来处理但他用for循环处理
3我的代码比他的更简单,简洁
同学代码

我的代码

1我定义了让两个整形常量,他只定义了一个
2我的while循环条件为L>N他为N>0,运算方式也不同
3我的代码更加简洁

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学习到的知识点简介 目前比较疑惑的问题
10/8-10/12 10小时 120 if-else语句和输入输出格式 变量问题,输入输出格式
10/12-10/18 8小时 126 for语句和输入输出格式 公式的表达
10.18-10.25 8小时 130 自定义函数来编程和生成乘方表和阶乘表 函数的调用
10.25-11.1 8小时 139 关系符和逻辑符号 各个符号之间的优先级不明确
11.1-11.7 8小时 115 switch语句 for和switch之间变换
11.7-11.14 7小时 140 while语句 do-while和while的区别

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

这周学习的是do-while和while语法,算比较简单的了,但while语句中判断的条件有时并不能很好的弄清楚,到底何时循环何时结束还把握不好,不过我还是会努力的尽管很多东西看不懂,辅导书也终于到了,上面的知识比课本详细很多,作业也是一如既往,必须自学后面的内容才能做出来,果然自学很重要,dev-c++也不够熟练要自己多加练习

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!