数组

 

 

一·.PTA实验作业

7-1 数组元素循环右移问题(20 分)

一个数组A中存有N(>)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥)个位置,即将A中的数据由(A0​​A1​​AN1​​)变换为(ANM​​AN1​​A0​​A1​​ANM1​​)(最后M个数循环移至最前面的M个位置)

设计思路

现将数输入进一个数组,然后让count等于M%N,避免移动的重复,然后在定义一个函数进行一个嵌套循环,将数组右移M次,然后输出

代码截图

本题调试过程碰到问题及PTA提交列表情况说明

出现的问题是这里是右移而我写的是左移,导致一直错

7-4 查找整数(10 分)

本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。

 

设计思路

现将数输入进数组,然后建立循环让X和数组里面的数一个一个比较,当他们相等的时候让lab=1让count等于j也就是下标,然后加一个判断语句判断lab是否为1进行输出

代码截图

 

.本题调试过程碰到问题及PTA提交列表情况说明

 

 出现了段错误,经过反复的寻找,我发现了出现段错误的一种可能性是没有加&

 

7-11 求一批整数中出现最多的个位数字(20 分)

给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。

 

设计思路定义一个数组让里面的元素都等于0,然后没读一个数就让a[这个数]++,然后最后比较这个数组里面的数谁做大,下标就是这个数

 代码截图

本题调试过程碰到问题及PTA提交列表情况说明

 

由于自己的疏忽,忽略了答案的格式

pta的最后排名

 

同学互评:吴振迪

振迪的代码更加简洁,不像我的很冗长

学会了什么

1.1一维数组的引用,定义的一般形式为:类型名  数组名  [数组长度]

    int a[10];  /*定义一个有10个整型元素的数组a*/

    char c[200];   /*定义一个有200个字符型元素的数组c*/

    float f[5];  /*定义一个有5个单精度浮点型元素的数组f*/

1.2二维数组行、列下标的对应关系

    术语                                              含义                                                  下标规律

          主对角线                         从矩阵的左上角至右下角的连线                              i==j    

   上三角          主对角线以上部分            i<=j

   下三角           主对角线以下部分                   i>=j

   副对角线         从矩阵的右下角至左下角的连线                i+j==N-1           

  1.3字符串的结束符'\0'

  1.4字符串的存储、赋值、输入

  static  char  s[80];

  s[0]='a';

  s[1]='\0';

  也可等价于:

     static char s[80]="a";

1.5字符数组的输入与输出可以有两种方式

(1)逐个字符输入输出。用格式符“%c”输入或输出一个字符。

(2)将整个字符串一次输入或输出。用“%s”格式符,意思是对字符串(string)的输入输出

  1.6区分"a"和'a'.

   前者是字符串常量,包括'a'和“\0”两个字符,用一维数组存放;后者是字符常量,只有一个字符,可以赋给字符变量。

还有什么不会

7-5;7-7

 

 

 

 

 

posted @ 2017-12-30 15:20  十月廿二  阅读(172)  评论(0编辑  收藏  举报