黄玮怡1805

导航

第二次博客作业

  目前自己学习中存在的薄弱的知识点具体有哪些?每个薄弱的知识点都是如何获知的,每个薄弱的知识点需要列举具体的例子说明。(5分)

目前较为薄弱的知识点有函数的传值调用和指针数组。通过看书上例题和在PTA上做题的过程中上网查找资料来了解具体如何操作。例如,在完成函数的编写后,不是很确定如何在main函数中使用,总是会报错;指针数组中特别是二维数组的处理也不太清楚。

 

 

2  从第五章函数到第七章数组的函数题和编程题(主要是在PTA)中选出至少一道你觉得比较有挑战的题(已解决且不是奇奇的题)。写出解题报告包括:(1)题目大意;(2)解题思路;(3)代码思路,比如画出流程图;(4)核心技术总结;(5)解题过程中存在的问题,以及如何得到解决的。(5分)

Cpp9  7-2数组元素换位   

(1)   在主函数中输入n个整数到数组中,调用函数(要求被调参数为⑴数组名 ⑵数组元素的个数)完成将数组中的最小值与第0个元素对调,将数组中的最大值与最后一个元素对调,主函数中输出调换后的数组。要求函数用指针变量作形参。

(2)   先判断出最大值和最小值,再进行调换。

(3)    

#include <iostream>

using namespace std;

void sort(int a[],int n)

{

       int i=n-1,j,k=0,z;

              for(j=1;j<n;j++)

              {

                     if(a[j]<a[k])

                     {

                            z=j;

                            j=k;

                            k=z;

                     }

              }

              if(k!=0)

              {

                     z=a[k];

                     a[k]=a[0];

                     a[0]=z;

              }

              for(j=n-2;j>0;j--)

              {

                     if(a[j]>a[i])

                     {

                            z=j;

                            j=i;

                            i=z;

                     }

                    

              }

           if(i!=n-1)

              {

                     z=a[i];

                     a[i]=a[n-1];

                     a[n-1]=z;

              }

}

int main()

{

       int a[100],n,i;

       cin>>n;

       for(i=0;i<n;i++)

          cin>>a[i];

        sort(a,n);

        for(i=0;i<n-1;i++)

          cout<<a[i]<<" "; 

        cout<<a[n-1];

             return 0;

}

(4)   用中间变量完成两个数组值的交换

(5)一开始没有考虑最大值的位置情况,在第一个和不是第一个元素的情况是不太一样的。通过上网查找资料和询问同学过后,解决了这个问题。

posted on 2018-12-08 20:22  黄玮怡1805  阅读(115)  评论(0编辑  收藏  举报