C博客作业04--数组

1.本章学习总结

1.1思维导图

1.2本章学习体会及代码量学习体会

1.2.1 学习体会

  • 本周在C语言学习上用的时间较少,导致PTA题集进度滞后,数组上机考试分数极低
  • 数组题目掌握较差,之后的学习中会加大这一部分的练习量
  • 学会了一维数组、二维数组、字符数组的部分使用方法,了解了冒泡法排序,螺旋方阵的操作方法,学会使用字符串函数

1.2.2 代码累计

2.PTA总分

2.1截图PTA中的排名得分



2.2 我的总分

一维数组:200
二维数组:105
字符数组:150
总分:455

3. PTA实验作业

3.1 PTA题目1

在一大堆数据中找出重复的是一件经常要做的事情。现在,我们要处理许多整数,在这些整数中,可能存在重复的数据。
你要写一个程序来做这件事情,读入数据,检查是否有重复的数据。如果有,输出“YES”这三个字母;如果没有,则输出“NO”。

3.1.1 算法分析

定义数组a[n]
定义数组hash[10001]
for i=0 to n
  输入a[i]
  hash[a[i]]++
  if hash[a[i]]>1
    输出YES
    break
  end if
end for
if i=n
输出NO
end if

3.1.2 代码截图

3.1.3 测试数据


3.1.4 PTA提交列表及说明

说明:

Q1:未将hash数组作为static数组初始化
A1:在同学指出后改正

3.2 PTA题目2

一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。
本题要求编写程序,求一个给定的n阶方阵的鞍点。

3.2.1 算法分析

输入n
for i=0 to n
    for j=0 to n
    输入a[i][j]
    end for
end for
for i=0 to n
    mk1=i
    point=a[i][0]
    for j=0 to n
        if a[i][j]>=point
            point=a[i][j]
            mk2=j
        end if
    end for
    for k=i to n
        if point>a[k][mk2]
            break
        end if
    end for
    if k=n
        found=1
        break
    end if
end for
if found=1
    输出mk1,mk2
else
    输出NONE

3.2.2 代码截图


3.2.3 测试数据


3.2.4 PTA提交列表及说明

说明:

Q1:遍历数组找行最大值时忽视本身等于最大的情况
A1:a[i][j]>point改为a[i][j]>=point,答案正确

3.3 PTA题目3

输入一个字符串,判断是否是合法邮箱(格式正确即可,不管是否真的存在)输入的只能是字母、数字、下划线、@以及.五种, @前后只能是字母或者数字,而且.后只能是com, 是则输出YES ,否则输出NO。

3.3.1 算法分析

定义字符串email[]
gets(email)
n=strlen(email)
for i=0 to n
    if email[i]=@
    break
    end if
end for
temp=i
if i=0或i=n
    error=1
end if
if email[i-1]=_||email[i+1]=_
    error=1
end if
在@前找非法字符

在@与.之间找非法字符

if i=temp+1 或 i=n
    error=1
end if
判断.后是否为com

if error=1
    输出NO
else
    输出YES

3.3.2 代码截图


3.3.3 测试数据



3.3.4 PTA提交列表及说明

说明:

Q1:将@前后只能是字母或者数字理解错误误以为不能有_
A1:加入特判修正@前后一位为_
Q2:试了一个晚上还是有1分拿不到
A2:最后发现bug差点当场去世,啊啊啊!!!!

4.代码互评

4.1 代码截图

4.1.1 自己:


4.1.2 他人:



4.2 二者的不同:

  • 4.1.1的代码使用了函数进行加法运算,4.1.2直接使用if-else将两种情况代码全部列出
  • 4.1.2创建了字符数组c存放结果,4.1.1直接将短字符串加到长字符串上输出
  • 4.1.1使用printf("1")输出最高位的1,4.1.2无需考虑最高位1是否越界
posted @ 2018-12-08 22:13  KISAMKO  阅读(712)  评论(0编辑  收藏  举报