第二次作业

现在老师已经快讲完了整一本书,我差不多就只学了一半吧。前面的基本内容,数据类型,运算符、表达式啊,和简单的输入输出是比较懂,到了后面的选择结构还可以,就是循环结构总是弄得不懂。就是老是会在输入n个数那里卡住。函数的传值调用和引用调用有时候会分不清。还有就是有时候复杂的函数会很难弄乱。数组还没有完全参透。指针的话有时候分不清*和&。因为前面的数组没学好,所以后面的指针与数组也不会。

#include <iostream>

using namespace std;

void change(int *a,int n)

{

       int min=0,i;

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

       {

              if(*(a+i)<*(a+min))

              {

                     min=i;

              }

       }

       int t;

       t=*a;

       *a=*(a+min);

       *(a+min)=t;

      

       int max=0,k;

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

       {

              if(*(a+i)>*(a+max))

              {

                     max=i;

              }

       }

       int l;

       l=*(a+n-1);

       *(a+n-1)=*(a+max);

       *(a+max)=l;

}

int main()

{

       int n;

       cin >> n;

       int a[n];

       int i;

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

       {

              cin >> a[i];

       }

       change(a,n);

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

       {

              cout << a[i];

              if(i<n-1)

              {

                     cout << " ";

              }

       }

       }

这个运用了指针的传值调用,指针的运算,主要学习来自于课本自学,不会的向身边同学请教。

posted @ 2018-12-08 13:09  dinglili  阅读(129)  评论(0)    收藏  举报