2018第一次作业

作业要求一

第一次作业由于没有即时关注截至时间,最后忘记完成,感觉到自己这个习惯非常不好,以后应该及时完成作业,不应该再拖拖拉拉的。

作业要求二

6-1 在数组中查找指定元素

1 设计思路(6分)
(1)主要描述题目算法
第一步:阅读题目,找出题目的要求—— 在数组中查找指定元素并且输出它的最小下标。
第二步:使用循环方式进行查找,如果可以找到,就输出它的下标。
第三步:如果找不到,则输出-1,这样系统会自动判断。
(2)流程图(4分)

2.实验代码(2分)

int search(int list[], int n, int x)  
{
	int * p,i;
	 p= &list[i];
 for (i = 0; i < n; i++)  
    {  
	
		if(*p++==x)
			return i;
		
	}
	return -1;	
}

3.本题调试过程碰到问题及解决办法(12分)
错误信息1:

错误原因:没有使用指针的方法
改正方法:先设出p,将p=&list[i],这时p就等于list[i],也就是说p可以代表之前的数组,利用循环语句再将它与需要寻找的值做对比,进一步进行判断。

6-2 找最大值及其下标

1 设计思路(6分)
第一步:阅读题目可以得知寻找数组中的最大值并且输出它的下标
第二步:先把第一个数赋予max,然后进行比较,如果第二个数比第一个数大,则把它赋予max,且把下标赋予*b。
第三步:最后再将max输出。
(2)流程图(4分)

2.实验代码(2分)

int fun(int *a,int *b,int n)
{
	int i;
	int  max=*a;
	for(i=1;i<N;i++)
	{
		 if(*(a+i)>*a)
		 {
		 
		*b=i;
		max=*(a+i);
	}
	}
	return max;
}

3.本题调试过程碰到问题及解决办法(12分)
错误信息1:

错误原因:题目中给出的数组是a,而我使用的a[0],题目已经给出了输出,但我没有返回,直接又自己使用了输出。
改正方法:向同学请教后,将数组
a中第一个数赋值给了max,然后再进行判断a+1是否大于a,如果不是就将其替换,最后再输出max和*b。

要求三、学习总结和进度

1、总结两周来所有PTA作业中每个题目所使用的知识点。
这两周以来主要学习了指针的使用,而这两道题则对最近学习的知识点有很好的应用。首先这两道题都使用了间接访问运算符,其次第一题还考察了p++的用法,以及和其他有关于p的运算

第二题主要是上学期有关于使用循环查找最大值的知识点,再结合这学期学的指针中数组与地址的关系来考察的。

2、将PTA作业的源代码使用git提交到托管平台上
git地址:https://git.coding.net/MikeJackYao/The-first.git

3、点评3个同学的本周作业

4、请用表格和折线图呈现你本周(3/513:00~3/19 8:00)的代码行数和时间、博客字数和时间(3分)。

原文地址:https://www.cnblogs.com/yaoshunyux/p/8588493.html