C语言I博客作业08

问题|答案
--|:--😐:--😐--:
这个作业属于哪个课程|C语言程序设计Ⅱ
这个作业要求在哪里|https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9977
我在这个课程的目标是|掌握C语言,并熟练操作
这个作业在那个具体方面帮助我实现目标|了解while与do-while,并使用它去解题
参考文献|百度百科,伪代码

1.PTA实验作业#

1.1 7-2 韩信点兵##

在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:
·按从1至5报数,记下最末一个士兵报的数为1;
·再按从1至6报数,记下最末一个士兵报的数为5;
·再按从1至7报数,记下最末一个士兵报的数为4;
·最后按从1至11报数,最末一个士兵报的数为10;
请编写程序计算韩信至少有多少兵。

输入格式:##

本题无输入

输出格式:##

输出韩信至少拥有的士兵人数。

1.1.1数据处理###

数据表达:定义一个变量N,也就是所求的值。
数据处理:

#include<stdio.h> /头文件/
int main () /主调函数/
{
    int N=1; /定义与赋值/
    while(N!=0) /循环语句,N不为零为循环条件/
    {
        N+=1; /N的值相加/
        if(N%5==1&&N%6==5&&N%7==4&&N%11==10) /判断N与5与6与7与11取余的值是否为1 5 4 10/
        break; /结束循环/
    }
    printf("%d",N); /输出N的值/
    return 0; /返回/
}

1.1.2实验代码贴图###

1.1.3 造测试数据###

输入数据|输出数据|说明
--|:--😐:--😐--:
无|2111|此题没有输入值,只有所求值

1.1.4 PTA提交列表及说明###


此题一次性通过了。

1.2 7-5 爬动的蠕虫##

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

输入格式:##

输入在一行中顺序给出3个正整数N、U、D,其中D<U,N不超过100。

输出格式:##

在一行中输出蠕虫爬出井的时间,以分钟为单位。

输入样例:##

12 3 1

输出样例:##

11

1.2.1 数据处理##

数据表达:定义N U D L time五个变量,表示井深,上爬高度,下滑高度,总爬行高度,时间。
数据处理:

#include <stdio.h> /头文件/
int main()  /主调函数/
{
    	int N,U,D,L; /定义已知变量N,以及爬行高度U,下滑高度D,和总的爬行高度L/
        scanf("%d %d %d",&N,&U,&D); /输入变量的数值/
        int time;/定义时间/
        time=L=0; /赋值初始的值,初始值为0/
        while(L<N) /循环结构,循环条件总距离小于井深/
        { 	
    	time++;	/时间的累加/
        L=L+U; /总距离/
        if(L>=N) /判断总距离是否大于等于井深/
        break; /结束循环/
        L=L-D;	/总距离/
        time++; /时间的累加/
        }	
        printf("%d",time); /输出时间/
        return 0; /返回/
}

1.2.2 实验代码截图##

1.2.3 造测试数据##

输入数据|输出数据|说明
--|:--😐:--😐--:
12 3 1|11|输入样例
18 4 6|-2147483646|每一次爬行高度小于下滑高度
18 4 2|15|每一次爬行高度大于下滑高度

1.2.4 PTA提交列表及说明###


答案错误:没有给time和L赋值。

2.代码互评#

2.1题目 7-5 爬动的蠕虫##

2.1.1自己代码##

2.1.2同学代码##


不同之处:

1.他用的是do-while循环语句,我用的是while循环语句
2.if循环中的条件不同,他是根据时间取余来进行下一步执行,而我是根据总高度与井深来判断,并执行下一步。

3.学习总结#

3.1 学习进度条##

周/日期|这周所花时间|代码行|学到的知识点简介|目前比较迷惑的问题
---|:--😐:--😐:--😐:--😐:--😐---:
第五周|3h|30|简单的代码编写,Markdown语法的学习|无
第六周|4h|40|温度的转换|无
第七周|7h|83|if-else语句,计算简单函数|做题的时候对题目理解的不够彻底
第八周|15h|79|for循环型语句,编译简单循环型题目|无
第九周|9h|110|函数的调用和定义一个新函数|定义新函数还是有点不太熟练
第十周|20h|130|分支结构运用,逻辑运算符和字符型数据|无
第十一周|24h|130|switch语句的使用|写作业时还是遇到了一点麻烦
第十二周|27h|150|while语句和do-while语句的运用|到底什么时候该用那种语句

3.2 累积代码行和博客字数##

3.3 学习内容总结和感悟##

3.3.1 学习内容总结###

3.3.2 学习体会###

本周我们又进一步学习了do-while语句与while语句,前者无论循环是啥条件,至少会执行一次循环体。解题的时候还是遇到了麻烦,
但是都通过自己的努力去寻找主意,都能收获不一样的快乐,新的一周继续加油,努力!!

posted @ 2019-11-16 00:20  揽星辰  阅读(152)  评论(1)    收藏  举报