• C语言博客作业--一二维数组


    一、PTA实验作业

    题目1:7-4 简化的插入排序

    1. 本题PTA提交列表

    2. 设计思路
      int a[10],赋初值为0
      int n,x,i,t
      输入n的值
      输入数组a
      输入x的值
      a[n]=x 将要插入的数放在最后
      for 0 to n-1
      若这个数a[n]小于其中一个数,就交换他们的值
      打印排序结果

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明。
    这题没什么大问题,只要思路有了,就好做了,刚开始我没有把这个要插入的数放进数组,所以实现不了多次交换,后面把它放进去了就好做了

    题目2:7-6 阅览室

    1. 本题PTA提交列表
    2. 设计思路
      int n
      int i,j,booknum,flag[1001]赋初值为0,t[1001],time=0计借阅时间,count=0,y放小时,x放分钟
      char ch,space
      for 0 to n-1
      time=0
      count=0
      while(恒真)
      {
      输入书号,键号,时间
      if书号为0,结束工作跳出循环
      if键号为S,t[booknum-1]=y60+x;flag[booknum-1]=1,flag为1,表示为借阅状态
      else
      { if flag[booknum-1]为1 flag[booknum-1]=0 ; flag重新为0,表示归还,为下一次输入准备 ; count自增 ; time=time+y
      60+x-t[booknum-1]算出总时间
      }
      if count 为0 输出0,0
      else 输出借书次数count和平均阅读时间
      }
      3.代码截图

      4.本题调试过程碰到问题及PTA提交列表情况说明。
      开始不懂怎么计算借阅时间,请教了一下同学,就是把起点设在0点,然后把所有时间化成分钟相减就是借阅时间
      还有一个郁闷的地方,就是键值的大小写,开始我打的是小写,找了半天没发现,后来仔细阅读了一下才看见

    题目3:7-9 判断上三角矩阵

    1. 本题PTA提交列表

    2. 设计思路

    int T,n,i,j,k,a[11][11],flag=0flag判断是否为上三角矩阵
    输入T的值
    for 1 to T
    {
    flag=0,每次循环将flag初始化为0
    输入矩阵a
    i for 0 to n-1
    { j for 0 to i
    if a[i][j] 不等于0,flag=1,跳出循环
    }
    if flag等于0 输出YES
    else 输出NO
    }
    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明。
    这题主要问题是没有在每次循环开始时将flag重新变为0,导致后面循环出错,经过调试,发现后面flag值不变才意识到问题

    二、截图本周题目集的PTA最后排名。

    三、同学代码结对互评

    1.互评同学名称:钟文杰
    2.我的代码、互评同学代码截图
    我的代码

    钟文杰的代码

    3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?
    首先,他的代码比我精简,总体设计的思路差不多,但我考虑的比他多一点,想到了首个数字的判定,而他就没有,不过他也有简练的地方,比如我多用了一个max来放出现最大次数,其实可以不用

    四、本周学习总结

    1.你学会了什么?

    1.1 C中如何存储字符串?
    使用字符数组存

    1.2 字符串的结束标志是什么,为什么要结束标志?
    方便给定循环条件
    1.3 字符串输入有哪几种方法?
    scanf("%s",a);
    gets(a)
    for(i=0;i<10;i++)
    scanf("%c",&a[i]);
    while((a[i]=getchar())!=' ')i++;
    1.4 数字字符怎么转整数,写个伪代码?
    char c;
    int n;
    输入字符数字c
    n = c-48
    输出整型数字
    1.5 16进制、二进制字符串如何转10进制?写伪代码?
    char hexad[80]
    int number
    number=0
    i for 0 to hexad[i]不等于
    { if hexad[i]是数字 number=number16+hexad[i]-48
    else if hexad[i]是大写字母 number=number
    16+hexad[i]-65+10
    else if hexad[i]是小写字母 number=number*16+hexad[i]-97+10

    char two[80]
    i for 0 to two[i]不等于
    n=7
    if n>=0
    {
    term=(two[i]-'0')*pow(2,n);
    sum=sum+term;
    }
    n自减

    2.本周的内容,你还不会什么?
    pta上查验身份证那题有一个检查点不知道什么意思

    还有删除字符串中的子串那题

    附上代码

    3.期中考试小结

    3.1 你认为为什么没考好?
    第一次 书面考试,有点不适应,还有慨念的东西背不熟,代码写得不熟练
    3.2 罗列错题。
    1.

    审题没认真
    2.

    漏了一个等号,对界点的条件没搞清楚
    3.改错题最后一个没改出来,n++要改为n=n+2,平常n++写习惯了,就把他略过去了
    4.

    复数怎么计算不会
    delta=bb-4ac; re=-(double)b/(2a);

    im=sqrt(fabs(delta))/(2*a); if (delta<0){

    printf(" 有 两 个 不 同 复 根 x1=%.6lf+%.6lfi ,x2=%.6lf-%.6lfi ",re,im,re,im);

    3.3 下半学期要怎么调整C的学习?
    磨刀不误砍柴功 ,我觉得要先把知识吃透,不然题目做起来很没有效率

  • 相关阅读:
    优雅的windowsC++项目的配置
    C++实现编码转换
    C++读取配置文件
    完全依赖QML实现播放器
    记一次和“N+1”的擦肩而过
    FFmpeg4.0笔记:采集系统声音
    FFmpeg4.0笔记:采集桌面
    FFmpeg4.0笔记:封装ffmpeg的解封装功能类CDemux
    SDL2:封装媒体显示播放Csdl2
    FFmpeg4.0笔记:封装ffmpeg的音频重采样功能类CSwr
  • 原文地址:https://www.cnblogs.com/hbw985609191/p/7956646.html
Copyright © 2020-2023  润新知