———————————————————————————————————————————————————————————————————————————————————————

一.实验题目

   题一.11-6 方阵循环右移

 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n1列变换为第nm、nm+1、⋯、n1、0、1、⋯、nm1列。

   题二.12-8 删除重复字符

 本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。

   题三.13-5 判断回文字符串

 本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。

   题四.15-10 找最长的字符串

 本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。

————————————————————————————————————————————————————————————————————————————————————————————

二.设计思路及实现方法

  题一:利用数组矩阵,采用m余数的方法,b[i][(j+m)%n]=a[i][j],来实现移动。

  题二:1.定义二个数组,并赋初值为0。

        2.读取一个字符串。

        3.判断数组中被填充的位置,填充的是非0值,没填充的是0值。

  题三:设计字符型数组,并利用指针来传递输入内容;通过函数来判断是否为回文。

  题四:设计动态链表,对每项内容分别进行判断和处理。

————————————————————————————————————————————————————————————————————————————————————————————

三.部分源代码

题一:11-6 方阵循环右移

题二:12-8 删除重复字符

 

题三:13-5 判断回文字符串

题四:15-10 找最长的字符串

 ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

四.遇到的问题及解决方法,心得体会

  1.对于题一.方阵循环右移,有想过应将方阵右移分为两个部分,及直接循环与超过边界循环,应对应不同的方法来进行循环。

  2.在解题过程中有时会出现思维断层,这是需要冷静 理清思路,也可以请教同学,从而解决问题,提高自己的能力。

  3.应多看书本基础知识点,巩固基础,在多练习代码,才能做到熟能生巧。