这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | 我的作业 |
我在这个课程的目标是 | 学习循环语句并回顾以前学习语句 |
这个作业在那个具体方面帮助我实现目标 | 学会了while和do-while的运用 |
参考文献 | 百度百科 |
-
1.PTA实验作业(20分/题)
1.1 题目名1
一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?
这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。
输入格式:
输入在一行中顺序给出3个正整数N、U、D,其中D<U,N不超过100。
输出格式:
在一行中输出蠕虫爬出井的时间,以分钟为单位。
输入样例:
12 3 1
输出样例:
11
1.1.1数据处理
数据表达:定义整型数组a,第一个位置用来计时,后三个位置用来接收数据。
数据处理: 初始化时间
scanf("%d%d%d", &a[1], &a[2], &a[3]);
初始化井深
do
{
开始上爬长度减少
时间累加
休息下滑
时间累加
} while (判断是否爬出);
输出时间
return 0;
}
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
13 5 2 | 7 | 井深13米 |
17 5 3 | 13 | 井深17米 |
10000000 2 1 | 19999997 | 井超深 |
1.1.4 PTA提交列表及说明
提交列表说明:
- while内条件设置错误,导致超时。
1.2 题目2
输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出error input!
输入样例1:
11111111
输出样例1:
255
输入样例2:
34
输出样例2:
error input!
1.2.1 数据处理
数据表达:定义字符型数组a定义整型变量i,b,s,d。
数据处理:定义字符型数组接收数据
int i, b, s = 0, d = 0;
输入二进制数据
计算二进制数据长度
for (进行循环计算)
{
switch (a[i])
{
计算数据
若不是二进制输出“error input!”
return 0;
}
}
输出十进制数据
return 0;
}
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
101010101111101111110 | 1400702 | 较长二进制数据 |
1101 | 13 | 较短二进制数据 |
1231314641 | error input! | 非二进制数据 |
1.2.4 PTA提交列表及说明
提交列表说明:
- 应为二进制加反了所以导致,部分正确。
2.代码互评(5分)
同学代码截图
自己代码截图
不同点:
- 同学利用循环求各位数之和与除法获得每一位累加位数,我则利用字符型库函数计算长度,循环累加字符型每一位。
3.学习总结(15分)
3.1 学习进度条(5分)
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
- 这周我们学习了do whlie和while循环,主要是用于有确定跳出条件的程序,有搞不懂的地方,多问问,也只有多思考多提问才能进不。