请编写函数void fun(int *dp,int n

请编写函数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");

}


答案
第1空:upordown==1
第2空:i=1;i<n;i++
第3空:dp[i]>temp
第4空:dp[0]=dp[i];
第5空:dp[i]=temp;
第6空:temp=dp[0];

题目信息

题号:6720
题型:填空题
难度:普通