这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | 链接 |
我在这个课程的目标是 | 掌握C语言以及熟练运用 |
这个作业在哪个具体方面帮助我实现目标 | 询问同学,百度,vs2019上的报错 |
参考文献 | 链接 |
1.1 题目名
- 7-5 爬动的蠕虫
一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。
1.1.1数据处理
整型变量:N,U,D,sum(时间),l(距离)
sum = l = 0;
while (l<=N)//判断条件
{
l += U;//上升的距离
sum++;//计数时间
if (l >= N)//判断距离是否大于井的总深
>break;
l -= D;//下降的距离
sum++;
}
printf("%d", sum);//输出
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
12 3 1 | 11 | 样例 |
15 4 2 | 13 | 说明,正确 |
19 17 6 | 3 | 说明,正确 |
1.1.4 PTA提交列表及说明
- 编译错误:之前在vs2019上写,复制过来忘记去掉_s.vs2019报错有未赋值sum,在下滑距离那里
的下面未计数时间sum。
1.2 题目2
7-3 jmu-c-二进制转10进制
输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出error input!
1.2.1 数据处理
字符型变量n,整型变量sum
n=getchar();//输入空格,开始下一语句,读取字符,输入ASCII码
while(n!='\n')//条件:n不等于其他字符
{
switch(n)//判断n是否是1或0
{
case '1':sum=sum2+1;break;//转为十进制
case '0':sum=sum2;break;
default:printf("error input!");
return 0;//结束返回
}
n=getchar();//结束循环语句,输出
}
printf("%d",sum);//输出
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
11111111 | 255 | 样例 |
11101 | 29 | 说明,正确 |
56 | error input | 说明,正确 |
1.2.4 PTA提交列表及说明
- 编译错误:没打n=getchar();和while中的return 0,上网搜解决。
- 部分错误:default后打了break,没有输出结果,while的判断条件是n=='n'。
2.代码互评
上图为同学的,下图为我自己的
- 上图:1.switch设置case1,case0,把1和0两个字符带进一个表达式。2.用if判断flag是否输出。3.赋值另起一行。
下图:1.一开始读取字符,将输入的数转为ASCII码 2.分为两中情况case1和case0 3.switch中带return 0(我现在也没搞清为什么要加return 0,参考了下百度和同学的)。
3.1 学习进度条
周/日期 | 这周所花时间 | 代码行 | 学到的知识点简介 |
---|---|---|---|
10/7-10/10 | 9+ | 30行+ | scanf()语句,if-else语句,平方,根号 |
10.16/10.17 | 5个小时 | 141 | 如何运用for语句 |
10.23/10.26 | 5个小时 | 141 | 如何定义函数,运用while语句 |
10.30/11.2 | 8小时 | 200+ | 如何在if else和for中嵌套 |
11.6/11.7 | 5小时 | 100+ | 如何灵活的运用switch语句 |
11.13/11.14 | 5小时 | 80+ | n=getchar();和switch加return 0 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
这周学习了新的循环语句while。它可以在没有明确的循环次数上进行循环。也学了一点do-while,与while的
区别在于它可以任何情况下至少循环一次,对于特殊情况下do-while比while好。3.3.2 思维导图
3.3.3 学习体会
- 这周学习正常,这周主要在参加我社团的活动。今天下午就排满了。学习了这么长时间,我明白我的逻辑思维
不是很清晰,以至于有些时候做PTA时我不知道怎么下手,要看看别人怎么写的才有感觉。所以以后要搞点逻辑
思维的锻炼。