第二次博客作业
1.薄弱点:指针、结构体、数组。
在PTA做题时有障碍,自己很难写出来但可以模仿相应的代码
#include<iostream> using namespace std; void fun(float *t,float *q) { float w; *t=*t+*t; w=*t; *t=*q; *q=w; } int main() { float a=2.5,b=4.0; float *pa=&a,*pb=&b; fun(pa,pb); cout<<a<<" "<<b<<endl; return 0; }
如可以模仿对应这样类似的代码,但自己想不出来在解决对应问题的时候需要这样做。
2.
2 (1.)题目大意:在主函数中输入n个整数到数组中,调用函数(要求被调参数为⑴数组名 ⑵数组元素的个数)完成将数组中的最小值与第0个元素对调,将数组中的最大值与最后一个元素对调,主函数中输出调换后的数组。要求函数用指针变量作形参。
输入格式:
第一行是一个整数n,表示元素个数; 第二行是n个整数,表示数组的n个元素。
输出格式:
输出调换元素后的数组,以空格分隔。
(2)解题思路:找出最大值和最小值下标,进行调换。
(3)代码思路:首先向一个数组中输入n个整数,随后将数组地址和大小传入sort函数,由sort函数进行寻找最大最小值下标并且根据下标的不同情况调换位置的任务,完成后主函数再将调换后的数组进行输出。
(4)核心技术总结:找出最大值和最小值下标,分情况进行调换,往往是前后数字+1 -1调换等等。
(5)解题过程中存在的问题,以及如何得到解决的:刚开始时仅仅是简单地找出下标并进行调换,没有考虑有几种情况。1.最大值不是数组的第一个元素:先调换最小值,再调换最大值;2.最大值是数组的第一个元素:定义一个中间变量,将最大值最小值放至指定位置,将原本数组末尾的元素放至数组的最小值下标处;3.最大值为第一个元素,最小值为最后一个元素:将最大最小值调换。