第五篇博客
| 这个作业属于哪个班级 |
| ---- | ---- | ---- |
| 这个作业的地址 |
| 这个作业的目标 | 学习数组相关内容 |
| 姓名 | 卢伟杰 |
0.展示PTA总分
1.本章学习总结
1.1 学习内容总结
1.1.1 数组中如何查找数据,有哪些做法
-
目前学习了两种查找数组中数据的方法:
A.顺序查找 :不需要排序,遍历所有数组元素,查找时间较长。
B.二分法查找 :需要对所有数据进行排序,每次都是和中间值比较。
1.1.2 数组中如何插入数据,怎么做
-
目前学习了三种插入进数组数据的方法(后面两种可输入带空格字符串):
A.scanf语句输入数据 :
scanf("%s", &str)
输入函数:数组名,不加地址符;
遇到回车或空格输入结束,
并自动将这一字符串和'\0'送入数组中。
scanf无法接收带空格的字符串。
B.循环输入
for (int i = 0; i < n; i++)
{
scanf("%c", &str[i]);
}
str[i] = '\0';
循环输入要注意在循环结束后加结束符'\0'。
循环输入可以输入空格。
C.fgets函数
char str[80];
fgets(str, 80, stdin); //表示标准输入符;
fgets 是将 n - 1个字符输入到数组内,最后一位为'\n';
使用时要注意数组大小,避免产生字符溢出的问题;
进行循环条件需设置 :
for (i = 0;str[i]&& str[i]!='\n'; i++)
1.1.3 数组中如何删除数据
- 目前学习了三种删除数组数据的方法:
A.将要删除元素的后面全部往前移动
B.将不符合规则的元素去除,只输出符合的元素
C.使用哈希数组,删除重复的字符,并进行输出
1.1.4 数组中目前学到排序方法
- 目前学习了两种数组数据排序的方法:
A.冒泡法排序(使用for循环并考虑怎么实现冒泡)
B.选择法排序 (for循环,并if语句进行判断变换)
1.1.5 哈希数组用法,目前学过哪些案例,举例展示
- 目前学习了两种哈希数组使用的方法:
A.7-3 删除重复字符
#include <stdio.h>
int main()
{
char str[81];
static int hash[256];
int i = 0;
fgets(str, 81, stdin);
for (i = 0; str[i] != '\n'; i++)
{
hash[str[i]]++;
}
for (i = 0; i < 256; i++)
{
if (hash[i] != 0)
{
printf("%c", i);
}
}
return 0;
}
B.7-7 A-B
#include <stdio.h>
int main()
{
char str1[10002];
char str2[10002];
static int hash[128];
fgets(str1, 10002, stdin);
fgets(str2, 10002, stdin);
for (int i = 0; str2[i] != '\n'; i++)
{
hash[str2[i]]++;
}
for (int i = 0; str1[i] != '\n'; i++)
{
if (hash[str1[i]] == 0)
{
printf("%c", str1[i]);
}
}
return 0;
}
2.PTA实验作业
2.1 7-5 调查电视节目受欢迎程度
2.1.1 伪代码
定义并初始化电视节目的数组 b[8];
定义数组a[1000];
定义n为数组的个数;
输入n;
for i = 0 to n - 1
输入数值赋予 a[i];
for i = 0 to n - 1
int j = a[i];
进行switch结构判断节目的选项;
输出节目序号与数量;
2.1.2 代码截图
2.1.3 同学代码截图
2.2 7-14 找鞍点
2.2.1 伪代码
定义n为二位数组的行列数;
定义 i,j;
定义数组a[max][max]
定义void getPoint(int a[][max], int n)
for i = 0 to n - 1;
for j = 0 to n - 1;
输入数值赋予a[i][j];
进入函数进行判断;
输出所找到的鞍点;
2.2.2 代码截图
2.2.3 请说明和超星视频做法区别,各自优缺点
**本题就是从超星视频学习的**
2.3 切分表达式——写个tokenizer吧
2.3.1 伪代码
定义 i 、j;和数组str[41];
用fgets向str数组输入数据;
for i = 0 to str[i] != '\n'
对str[i]进行判断并输出相应的数据;
2.3.2 代码截图
2.3.3 请说明和超星视频做法区别,各自优缺点
**本题就是从超星视频学习的**