C语言:利用指针编写程序,将一个一维数组a[10]中的最大元素与第一个元素互换、将最小元素与最后一个元素互换

题目来源:大工慕课 链接
作者:Caleb Sung

题目要求

利用指针编写程序,将一个一维数组a[10]中的最大元素与第一个元素互换、将最小元素与最后一个元素互换。

参考代码

#include <stdio.h>

void swap (int *a , int *b)
{
    int temp = *a;
    *a = *b;
    *b = temp;
}

int randArray(int array[10]){
    int i;
    srand(time(NULL));
    for(i=0; i<10; i++)
        array[i] = rand()%100+0;
    return array[10];
}

int main ()
{
    int a[10];
    a[10] = randArray(a);
    printf ("随机数组:\n");
    int i,*p,*pmin = a,*pmax = a;
    for (p = a ; p < a+10 ; p++)
        printf ("%d ",*p);
    for (p = a ; p < a+10 ; p++)
    {
        if (*p > *pmax)
            pmax = p;
        if (*p < *pmin)
            pmin = p;
    }
    swap (pmax,a);
    swap (pmin,&a[9]);
    printf ("\n排序后数组:\n");
    for (p = a; p < a+10; p++)
        printf ("%d ",*p);
}

运行效果

随机数组:
71 92 83 78 66 7 87 76 92 76
排序后数组:
92 71 83 78 66 76 87 76 92 7

猜你喜欢

转载自blog.csdn.net/qq_41933331/article/details/80257312