填空题

请编写函数void fun(int *dp,int n,int upordown),其功能是,找出dp所指数组中的最小或最大值,并与其第1个元素交换。形参n为元素的个数,形参upordown为查找标志:值为0时找最小值;值为1时找最大值。


注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。


#include <stdio.h>

#include <stdlib.h>

#define N 10

#pragma warning (disable:4996)

void NONO(FILE *fp, int pd[], int n);

 

void fun (int *dp,int n,int upordown)

{

    int temp=0;

    int i=0;

    temp=*dp;

    if(upordown==0)

   {

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

    {

        if(dp[i]<temp)

        {

            dp[0]=dp[i];

            dp[i]=temp;

            temp=dp[0];

        }

      }

    }

    else if(/******found******/)

   {

    for(/******found******/)

    {

        if(/******found******/)

        {

            /******found******/

            /******found******/

            /******found******/

        }

    }

}

*dp=temp;

 

}

 

void display(int pd[],int n)

{

    int i;

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

        printf("%4d",pd[i]);

    printf("\n");

}

void main()

{

    int data[N],i,n=N;

    FILE *out ;

 

    out = fopen("out.dat","w") ;

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

        data[i]=rand()%90+10;

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

        fun(data+i,n-i,0);

    display(data,n);

    NONO(out, data, n);

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

        data[i]=rand()%90+10;

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

        fun(data+i,n-i,1);

    display(data,n);

    NONO(out, data, n);

    fclose(out);

}

void NONO(FILE *fp, int pd[], int n)

{

    int i;

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

        fprintf(fp, "%4d", pd[i]);

    fprintf(fp, "\n");

 

}

赣ICP备20007335号-2