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.同学的代码有很详细的注释,让人很容易理解,这是值得我学习的地方。

  • 相关阅读:
    论.Net 2.0消失的虚拟内存空间
    检查IE版本的方法
    升级.Net 4.0遇到的两个问题
    关于ID生成算法
    探秘.Net 4.0的StringBuilder实现
    关于填充DataTable的效率问题
    [已解决]请教:时间格式“2008109公元 10:43:27,AM”,这种时间格式是该怎么恢复默认设置
    请教:c#中的窗体怎么才能像c++的那窗体一样按键后可以调出输入法?
    在access中执行SQL,SQL中包含IIF,取出来的结果集字符串被截断了,请教各位大侠,这个是为什么呀?谢谢!
    请教:PL/SQL中执行to_date(to_char(a.lastupdatedate, 'YYYYMMDD HH24:MI:SS'),'YYYYMMDD HH24:MI:SS') ,上午12点整为什么格式化出来没有时分秒?
  • 原文地址:https://www.cnblogs.com/2084624983yue/p/9864854.html
Copyright © 2011-2022 走看看