第五次博客作业

0.展示PTA总分

1.本章学习总结

1.1学习内容总结

  • 数组中查找数据
    (1)顺序查找:不需要排序,遍历数组中所有的元素,查找的时间较长。
    (2)二分法查找:需要对数组中所有的元素进行排序,将数据与中间值比较,判断数据所在区间。
  • 数组中插入数据
int a[n+1] ;//将数组多定义一个元素用于存放新数据
int temp;
数组从小到大排序
for(遍历数组)
{
      if(a[]>num)
      {

      temp = a[];
      a[]=num;
      }
}
for(从最后一位开始)
{
a[i]=a[i-1];
}
a[] = temp;

  • 数组中删除数据
    (1)再定义数组法
int a[n];
int b[n-1];
for(I = 0;i<n;i++)
{
      if(I<num)
      b[I] = a[I];
      else
      b[I] = a[I+1];
}

(2)数组左移法


for(;I<n-1;i++)
{
a[I]=a[I+1];
}

  • 数组中目前学到的排序方法
    (1)冒泡排序法

    (2)选择排序法
  • 哈希数组用法及案例

删除重复字符


int str[256]={0};
    char i;
    scanf("%c",&i);
    while(i!='\n')
    {
        str[i]++;
        scanf("%c",&i);
    }
    for (int j=0; j<256; j++)
    {
        if (str[j]!=0)
        {
            printf("%c",j);
        }
    }

用法:新建一个数组,利用字符与整数可以互换这个特性。

2.PTA实验作业

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

  • 伪代码
for(n个票数)
{
a[节目编号]++;
}

  • 代码截图
  • 与同学代码比较



    同学的代码使用了switch语句,容易理解

2.2找鞍点

  • 伪代码

for()
{
for()找出每行最大的数max
for()找出每列最小的数min
判断数是否与max和min相等
}

  • 代码截图


2.3切分表达式

  • 解题思路
    遍历字符串,如果当前字符是数字或小数点,则判断下一个字符是否也是,是的话呢说明下一个字符能拼在一起凑成一个实数,不是的话呢说明当前字符已经是此实数的结尾了,输出并换行。最后再判断一下正负号,如果在正负号前面是数字,代表是加减号,输出并换行,否则代表是能构成实数的正负号。
  • 代码


posted @ 2020-12-13 21:50  巫云☁️  阅读(98)  评论(0编辑  收藏  举报