zoukankan      html  css  js  c++  java
  • C语言博客作业--一二维数组

    一、PTA实验作业

    题目1:7-2 求整数序列中出现次数最多的数

    1.本题PTA提交列表

    2.设计思路

    定义n存放数的个数,most存放出现次数最多的数,time存放最多次数
    输入n
    定义a[n]存放数字,aa[n]存放各数出现次数
    将数字存入数组
    for i=1 to i>n
       for j=n-i to j>n
          若a[i]=a[j] aa[i]]+1
        end
    end
    
    先令time=aa[1];most=a[1]
      for i=1 to i>n
         若aa[i]>time  time=aa[i];most=a[i];
    输出most和time
    
    

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明

    • 部分错误:误将每个数字出现次数都初始化为0,后来发现这样做不正确,会让出现次数少一

    题目2:7-3 出生年

    1.本题PTA提交列表

    2.设计思路

    定义year存放年份,diff存放要求不同数字个数,count存放实际不同数位=4,born存放出生年,year1也存放年份
    定义a[4]存放年份各个位数
    输入year,diff,born=year,
    for year to...
       year1=year
       for i=1 to i=5
           a[i]=year1%10;
    	year1/=10
        end
      
        for i=1 to i=5
            for j=i+1 to j=5
                 如果a[i]=a[j] count-- 跳出当前循环 end end
    
        如果count=diff跳出循环
        count=4  end
    输出年份和相差年份
    

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明

    • 本题无误

    题目3:7-10 杨辉三角

    1.本题PTA提交列表

    2.设计思路

    定义n存放三角的行数
    输入n
    定义a[n][n]
    for i=1 to i>n
       for j=1 to j>n
          如果i=j或j=1 a[i][j]=1
          否则 a[i][j]=a[i-1][j-1]+a[i-1][j]
          如果 j>i 跳出循环  end  end
    for i=1 to i>n
       for j=1 to j>i 
           输出a[i][j]
       end
       换行
    end
    

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明

    • 格式错误:将%-md和%md作用混淆导致输出空格在右格式错误

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

    三、同学代码结对互评

    陈文杰代码: 我的代码:

    评价:我的代码比他的简洁的多,但是他采用函数封装了各个功能,让他的代码结构更清晰,他的代码通篇无注释,让人不好理解,而且他对于小于10的年份输出采用了000%d,其实只要用%04d就能实现这个功能,还有他计算不同位数使用的方法太
    复杂了,可能是思路不清晰的结果,我更喜欢我的代码

    四、本周学习总结

    1.你学会了什么?

    1.1 C中如何存储字符串?

    c中采用字符型数组存储字符串
    

    1.2 字符串的结束标志是什么,为什么要结束标志?

    结束标志:
    原因:如果没有,那么在使用系统函数处理字符串的时候,函数就不能准确判断字符串在哪里结束,从而可能导致数组越界
    

    1.3 字符串输入有哪几种方法?

    三种
     - 1.使用循环结构和scanf("%c",  )语句输入
     - 2.scanf("%s",  )这种输入方法遇到空格就会中止
     - 3.gets()这种方法只有遇回车会终止,比上一种好
    

    1.4 数字字符怎么转整数,写个伪代码?

    定义字符ch存放数字字符
    输出ch-'0'
    

    1.5 16进制、二进制字符串如何转10进制?写伪代码?

    ####16进制:
       定义字符数组a[100]存储16进制字符串,result储存转化后结果
       输入a[]
       for 第一位to最后一位
          若a[]为字符0到9,result=result*16+a[k]-'0';
          若a[]为a到f或A到F,result=result*16+a[k]-'a'或'A'+10;
       end
       输出结果
    ####2进制
       定义字符数组a[100]存储16进制字符串,result储存转化后结果
       输入a[]
       for 第一位to最后一位
          若a[]为字符0或1,result=result*2+a[k]-'0';
       end
       输出结果
    

    2.本周的内容,你还不会什么?

    这题第一个空是要判断对角线两侧是否相同,然后根据fond变量判断是否对称矩阵,一开始没有看懂程序,导致思路混乱才错误
    pta的题目有几题会出现段错误,百度后知道是数组越界的问题

    3.期中考试小结

    3.1 你认为为什么没考好?

    • 对时间把握的不够好,导致后面编程题和改错题时间不足,但这也看出我对基础知识掌握的不够好,所以做题较慢
    • 在纸面上写代码很不适应,过度依赖编译器
    • 考前没有做好复习工作

    3.2 罗列错题。

    选择题第六题我的问题问题主要是b,c两项现在知道逻辑运算符可以这么用,c选项少个分号,我以为考试应该不会考这种错误。。。。
    填空题第九空忘记了要乘1.0才能使结果变为小数
    编程题第三大题阶乘没写出来很不应该,因为写到最后,没有时间,太慌乱了,结果没做出来

    3.3 下半学期要怎么调整C的学习?

    • 不应该只做pta的题目,多在纸上写代码,多看别人的代码,作业认真完成
  • 相关阅读:
    ubuntu远程windows桌面
    spring boot 给返回值加状态 BaseData
    spring boot 拦截异常 统一处理
    IntelliJ IDEA spring boot 远程Ddbug调试
    IntelliJ IDEA 常用插件
    spring boot 请求地址带有.json 兼容处理
    spring boot 接口返回值去掉为null的字段
    spring boot 集成disconf
    Spring boot 自定义拦截器
    Linux下安装MySQL
  • 原文地址:https://www.cnblogs.com/Airoure/p/7943960.html
Copyright © 2011-2022 走看看