zoukankan      html  css  js  c++  java
  • C博客第02次作业循环结构

    1.本章学习总结

    1.1 思维导图

    1.2 本章学习体会及代码量

    1.2 本章学习体会及代码量

    1.2.1 学习体会

    1.这两周的学习懂得了循环结构的使用方法,懂得了在什么时候应该使用循环结构来处理问题,也学会了在哪种题目该使用哪一种循环语句。
    2.与第一章相比,明显感觉到了难度的增加,在面对一些问题时会感觉没有思路,有时候完成一道题目甚至需要花费好几个小时。
    3.感觉到了自己能力的不足,题目刷的不够多,花费在c语言上的时间应该要更多了,要努力提升自己的知识水平.

    1.2.2 代码累计

    2.PTA总分

    2.1截图PTA中循环结构2次题目集的排名得分

    2.2 我的总分

    循环结构(单层):175分
    循环的嵌套:115分
    总分:290分

    1. 实验作业

    3. 实验作业

    3.1 PTA题目1

    乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?

    3.1.1 算法分析
    定义T为总时间,定义一个变量i来储存时间
    定义j,定义flag   其中,将flag赋值为0
    定义tuzi,wugui   将tuzi,wugui赋值为0
    输入总时间T
    for i=1 to T do
     wugui=wugui+3
     if flag==1
      tuzi=tuzi+9
       if i%10==0并且tuzi>wugui then flag=0
       j=0
     else
      j=j+1
       if j==30 then flag=1
     end if
    end for
    if wugui>tuzi then 输出 @_@ wugui
    else if wugui==tuzi then 输出 -_- tuzi
    else 输出 ^_^ tuzi
    end if 
    
    3.1.2 代码截图

    3.1.3 测试数据
    测试点 输入 输出
    1 245 @_@ 735
    2 452 -_- 1368
    3 542 -_- 1638
    3.1.4 PTA提交列表及说明

    3.2 PTA题目2

    模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。

    3.2.1 算法分析
    定义一个整数型数据为i
    定义最后结果为sum
    定义flag,赋值为0
    定义一个字符op,赋值为0
    while 字符 != '=' do
     输入一个字符op
     if op=='=' then 退出循环
     输入一个整数型数据i
     if op=='+' then  sum=sum+i
     else if op=='-' then sum=sum-i
     else if op=='*' then sum=sum*i
     else if op=='/' then 
      if i!= 0 then sum=sum/i
      else then flag=1
      end if
     else then flag=1
     end if
    if flag=1 then 输出 ERROR
    else then 输出 sum
    
    3.2.2 代码截图

    3.2.3 测试数据
    测试点 输入 输出
    1 1+2*10-10/2= 10
    2 1%6*54-2= ERROR
    3.2.4 PTA提交列表及说明

    3.3 PTA题目3

    要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称。

    3.3.1 算法分析
    定义一个字符为ch
    定义high,i,x,j,k
    输入%c %d",&ch,&high
    x=(high+1)/2
    for i=1 to x do
     for j=1 to x-i do
      输出 " "
     end for
     输出一个字符ch 
     for j=1 to  2*(i-1) then
      输出" "
     end for
     if i!=1 then
     输出字符ch 
     输出一个换行符ch 
     ch=ch+1
    end for
    ch--
    k=i-2
    for i=1 to x
     ch=ch-1
     for j=1 to i
      输出 " "
     end for
     输出字符ch
     for j=1 to 2*(k-1) 
      输出 " "
     end for
     if i!= x-1 then
     输出字符ch
     输出换行符
     k--
    end for 
    
    3.3.2 代码截图

    3.3.3 测试数据

    3.3.4 PTA提交列表及说明

    4.代码互评

    我的代码

    同学的代码

    4.1.1两者的不同

    1.两种解法都是正确的,但是我们两个人分析问题的思路与方法是不同的。
    2.初看感觉同学的代码更长,我的代码比较简短,我个人觉得我的代码的执行效率比较高一点。
    3.同学的代码有很详细的注释,让人很容易理解,这是值得我学习的地方。

  • 相关阅读:
    golang fmt用法举例
    golang init函数
    golang 定时器
    golang 如何判断变量的类型
    题目:IO多路复用版FTP
    Python模块——gevent 在协程学习中遇到的模块
    python入门三十二天——协程 异步IO数据库队列缓存
    java——第一天 变量,java的基础类型
    操作PPT模块 python-pptx
    python入门三十一天---多进程
  • 原文地址:https://www.cnblogs.com/2084624983yue/p/9864854.html
Copyright © 2011-2022 走看看