C博客作业04--数组

C语言博客作业04--数组

这个作业属于哪个班级 C语言--网络2011/2012
这个作业的地址 C博客作业04--数组
这个作业的目标 学习数组相关内容
姓名 姚庆荣

0.展示PTA总分(0----2)

1.本章学习总结(3分)

1.1 学习内容总结

数组中查找数据:

  • 一维数组:例:查找数组a[8]中第4个数据是输入a[3]

  • 二维数组:例:查找数组a[4][8]中第3行第2列数据是输入a[2][1]

  • 对于乱序数组:逐一查找.

  • 对于顺序数组:使用二分查找法.

  • 做法:记录插入位置,通过for循环插入数据,并将数组向后移动一位,

数组中删除数据:

  • 构建新数组保存需要删除的位置;保存后再逐一将后续数值向前进一个位置。

数组中排序方法:

  • 选择排序法:外循环控制选择轮次,内循环从1到n控制单轮的排序次数

  • 冒泡排序法:外循环控制冒泡轮次,内循环从0到N-j-1控制单轮的排序次数

枚举用法:

:查找整数, 统计一行文本的单词个数,删除数字字符等

字符数组、字符串特点:

  • 字符串常量是用一对双引号扩出来的字符序列;
  • 一个字符串结束符'\0';(fgets函数自动添加结束标志)
  • scanf(“%s”,str)无法接收带空格的字符串;
  • fgets(数组名,值域,stdin)函数能接收带空格的字符串。

2.PTA实验作业(7分)

2.1 调查电视节目受欢迎程度

2.1.1 伪代码

for(i=0 to n)

  if(1<=likenumber<=8)

  对应节目数值+1;

  end if

end for

2.1.2 代码截图

2.1.3 找一份同学代码(尽量找思路和自己差距较大同学代码)比较,说明各自代码特点。

莫夕

比较:思路基本相同,但我的代码中定义的变量较为具体。

2.2 找鞍点

2.2.1 伪代码

for(j=0 to n-1)

寻找行中最大值

end for

for(j=0 to n-1)

寻找列中最大值

end for

比较列最大值和行最大值;

若相等输出相应行列;

不相等输出NONE;

2.2.2 代码截图

2.2.3 请说明和超星视频做法区别,各自优缺点。

代码循环次数较多,且行列的比较可以归为一个函数,继续优化的部分多。

2.3 切分表达式

2.3.1 伪代码

输入字符串fgets 

for (i=0 to '\0')  

  if(第一个字符是正负号时)  

  end if 

   if(字符为数字或者小数点判断下一位是否是小数点或者数字)  

  end if  

else if(负数的判断 前一位是数字还是其他符号)  

else if(正数的判断 数字前一位是不是‘(’)

 end for

2.3.2 代码截图

2.3.3 请说明和超星视频做法区别,各自优缺点。

视频中对判断条件的使用函数分装,有利于代码的阅读;
视频中是对小数点、括号等分开进行判断,而自己代码中步骤较为繁琐。

posted on 2020-12-13 21:52  姚庆荣  阅读(98)  评论(0编辑  收藏  举报