zoukankan      html  css  js  c++  java
  • C语言--二维数组

    一、PTA实验作业

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

    1. 本题PTA提交列表

    2. 设计思路

    定义变量n表示输入整数个数,count表示每个数出现次数,i、j表示循环变量,k表示次数最多的数的下标,max表示出现最多次数;定义数组num[1000]存放输入的整数;
    初始化 count=0,k=0,max=1;
    输入数字并存放在数组中;
    for i=0 to i=i-1   //遍历数组,算出每一个数出现次数,并把出现最多的次数赋给max
        count=0;
        for j=0 to j=n-1
                如果num[i]==num[j]
                    count++
        end for j
        若count大于等于max
            若count等于max,k为0,max等于count
            若count大于max,k自增1,max等于count
    end for i
    输出num[k]和max
    
    

    3.代码截图

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

    • 问题1:答案部分正确

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

    1. 本题PTA提交列表

    2. 设计思路

    定义变量n表示输入整数个数,i、j表示循环变量、flag表示中间替代量;
    输入n;
    若输入的n符合题目条件
        定义数组num[n+1];
        输入排序好的数据和要插入的数
        for j=0 to j=n
            若num[j]>=num[n],num[j]和num[n]互换
        end for j
    输出num[i]
    

    3.代码截图

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

    • 问题1:答案部分正确

    题目3:7-11 二分查找法

    1. 本题PTA提交列表

    2. 设计思路

    定义变量key表示要查找的数,min表示最小下标,max表示最大下标,mid表示中间下标
    定义整型数组a[10]={1,2,3,4,5,6,7,8,9,10}
    初始化变量  max=9,min=0
    输入key
    若key>10,输出“not  found”
    若key==a[max],输出 max
    若key<10
        while(max>=min)//二分查找法
            mid=(max+mid)/2
            若key等于a[mid],输出 mid
            若key>a[mid],min=mid
            若key<a[mid],max=mid
    end  
    

    3.代码截图

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

    • 问题1:答案部分正确

      测试输入数据15和10,发现程序均运行不出结果,测试输入9,程序可以运行
      检查代码发现自己忘记了输入数据不在数组中的情况
      错误代码:

    改正后代码:

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

    PTA排名

    三、同学代码结对互评

    1.互评同学名称

    2.我的代码、互评同学代码截图

    3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。

    注意:第3项是评分重点,一定要有针对性说出问题,别都说好话,请专业去说他代码有哪些优势、哪些劣势。

    四、本周学习总结

    1.你学会了什么?

    1.1 C中如何存储字符串?

    C语言中是没有专门用来存储字符串的数据类型的,因此字符串只能被存储在字符数组中。通常用一维字符数组存储字符串,每个数组单元存储一个字符,以‘’表示字符串的结束。

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

    字符串的结束标志是‘’。如果没有结束标志,在输出字符数组时,会输出一些随机的数,会导致程序结果错误

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

    1、while((ch=getchar())!=0)
    2、gets(s);
    3、scanf("%s",s);

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

    定义整数变量integer、i,字符数组ch[10];
    scanf("%s", ch);//输入数字字符
    integer=0;
    for(i=0; ch[i]; i++)
        若ch[i]>=0&&ch[i]<=9
            integer=integer*10+(a[i]-'0')
    end for i
    输出integer
    

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

    十六进制转10进制

    二进制转十进制

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

    详细罗列不明白地方,包括课堂派错题、PTA错题。

    3.期中考试小结

    3.1 你认为为什么没考好?

    没考好原因:

    1、考前没有认真复习;
    2、没有系统记住知识,做了就过,平时太过于依赖Dev,做题目也没有时间限制;
    3、语法基础不太扎实,阅读程序能力很弱

    3.2 罗列错题

    错题1(选择题):

    14、如下程序段的运行结果是___。

        #include <stdio.h>
        int main()
        {
            int  a=5, b=4, c=3, d=2;
            if(a>b>c)    printf("%d
    ", d);
            else if((c-1>=d)==1)    printf("%d
    ", d+1);
            else  printf("%d
    ", d+2);
            return 0;
        }
    

    A、2 B、3 C、4 D、5

    我的错选:A。
    错选原因:忽略了关系运算符在C语言中的用法和与在数学中的用法是不一样的,误以为 if(a>b>c)这样写的意思是平时的a>b>c的意思,其实不是。在计算机中正确表达a>b>c关系式的写法应是a>b&&b>c。
    正确答案:B。(c-1>=d)的计算结果为1,进入第二个分支结构。

    错题2(填空题):

    4、

    #include <stdio.h>
    #include <math.h>  
    int main()
    {
        double sum=0,pi,t;
        int i=1;
        do{
        	t=【9】;
        	sum=sum+t;
        	i++;
    	}while(【10】);
    	pi=sqrt(6*sum);
    	printf("pi=%.10lf,n=%d
    ", pi, i);
    	return 0;
    }x
    ]  
    

    我的错填:
    【9】1/pow(i,2) 【10】i>=15
    错填原因:【9】里的1应该写成1.0的,因为在C语言中整数除以整数得数也是整数。
    正确答案:
    【9】1.0/(i*i) 【10】t>=pow(10,-15)

    错题3(改错题):


    我的错答:

    错答原因:没有把握好考试时间,导致后面没有时间,阅读程序能力弱

    正确答案:

    错题4(编程题):


    我的错答:


    错答原因:前面没有控制好时间,后面时间不够。也没有仔细审题,写题思路不清晰,板书很乱,代码上也没有注释,导致就算写得差不多,但是得分很低

    正确答案:



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

    通过期中考试,发现自己基础并不扎实,编程时的思路也不清晰,在平时写作业的时候太过于依赖编程器,一到要在纸上写程序就不行,阅读程序的能力也比较弱。下半学期的C语言会更抽象些,打算听从老师的建议,在多看书巩固基础知识的同时尝试自己写,如果思路很混乱自己写不出来,就去看看别的同学的优秀代码,增加代码阅读量。我发现我很不擅长归纳总结,不也爱做总结,这是个很大的弊端,经常会造成做过的题回来再做就不会了的情况,在下半学期要争取克服这个缺点,做到系统地学习和复习。

  • 相关阅读:
    REVERSE!REVERSE!REVERSE!
    java和数据结构的面试考点
    39. recover rotated sorted array恢复旋转排序数组
    33. Search in Rotated Sorted Array旋转数组二分法查询
    搜索旋转排序数组 II
    Eclipse 查找
    在Java中返回多个值
    Java的标识符
    fwprintf (File input/output) – C 中文开发手册
    CSS盒子模型介绍 | CSS Box Model: Introduction to the CSS box model (Miscellaneous Level 1) – CSS 中文开发手册
  • 原文地址:https://www.cnblogs.com/nongxianqing/p/7967572.html
Copyright © 2011-2022 走看看