C博客作业04--数组

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

0.展示PTA总分


1.本章学习总结

1.1数组中如何查找数据,有哪些做法

1)顺序查找:依次遍历数组,查找目标元素。
优点:算法简单。
缺点:查找效率低。
2)二分法查找:每次查找二分后数组中的中间元素。
优点:提高效率。
缺点:只适用于有序数组。

1.2数组中如何插入数据,怎么做?

输入一个数据,找到插入位置,将该数据以后的所有数据下标往后移一位,将该数据插入该下标。
伪代码:

for i=0 to i=n-1 do
   if x<数组元素 then
       已找出切入点跳出循环
   end if
end for i=n to 插入点 do
       插入点后的下标后移一位
       插入点存入数据
end for 
      输出改变后的数组

1.3数组中如何删除数据,这个有多种做法,请一一展示。

1.3.1在一个数组中,在该需要删除数据的地方记录下标,将后面的数据依次往前移。

1.3.2用另一个数组保存删除后的原数组的数据。

1.4数组中目前学到排序方法,主要思路?

1.4.1冒泡法排序

思路:对每一对相邻元素进行比较,如果第一个比第二个大,就交换它们两个,从第一对到最后一对作重复步骤,直到排序完成。

1.4.2选择排序法

思路:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
以此类推,直到所有元素均排序完毕。

1.5数组做枚举用法,有哪些案例?

调查电视节目受欢迎程度
阅览室

1.6哈希数组用法,目前学过哪些案例,举例展示。


代码:

#include<stdio.h>
#define MAX 100001
int SameData(int n);
int main()
{
	int n;
	scanf("%d", &n);
	if (SameData(n))
	{
		printf("YES");
	}
	else
	{
		printf("NO");
	}
	return 0;
}

int SameData(int n)
{
	static int a[MAX];
	int i, data;
	for (i = 1;i <= n;i++)
	{
		scanf("%d", &data);
		if (a[data] == 1)
		{
			return 1;
		}
		else
		{
			a[data] = 1;
		}
	}
	return 0;
}

1.7字符数组、字符串特点及编程注意事项。

1.字符串常量就是用一对双引号括起来的额字符序列,即一串字符,结束标识符为'\0'。
2.字符串由有效字符和字符串结束符'\0'组成。
3.字符输入:
1)

scanf("%s",str);
//遇空格or回车结束
//若输入的字符串长度小于定义长度,则为赋值的位置自动放置'\0'作为结束标志

2)

//fgets:接收带空格的字符串,以'\0'结束
char ch[5];
fgets(ch,5,stdin);

4.字符数组的初始化

static char s[6]={'H','a','p','p','y','\0'};
or
static char s[6]={"Happy"};
or
static char s[6]="Happy";

2.PTA实验作业

2.1

2.2找鞍点

2.2.1伪代码

输入n/*n为矩阵的行列数*/
定义矩阵数组a[i][j]并对其赋值
if n=1 则 该点一定为鞍点
else 
定义循环变量p;
定义变量k记录最大行标,y记录最小行标;
定义flag初始化为1;
for i=0 to n do
   y=i;
   for p=0 to n do
      if(a[i][k]<=a[i][p]) then
        将数组列标赋给k; 
   end if
   for j=0 to n do
      if(a[y][k]>a[j][k]) then
        把小的行标赋给y;
        跳出当前循环;
   end if (i==y)//行最大且列最小,判断条件行标不改变 then
               flag=0;
               跳出当前循环;
end
       if(flag==0)
          输出当前鞍点;
       else then
          输出NONE;
end

2.2.2代码截图


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

2.3切分表达式

posted @ 2020-12-13 21:56  SUEHUNG  阅读(134)  评论(0)    收藏  举报