请编写函数fun:在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 给定源程序

admin2017-07-18  32

问题 请编写函数fun:在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。
    注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
    给定源程序:
    #include
    void NONO();
    void fun(int*a,int*b,int*c,int*d)
    {
    }
    main()
    {int a,b,C,d;
    printf("请输入4个整数:");
    scanf("%d%d%d%d",&a,&b,&c,&d);
    printf("原始顺序:%d,%d,%d,%d\n",a,b,C,d);
    fun(&a,&b,&c,&d);
    printf("处理后:%d,%d,%d,%d\n",a,b,C,d);
    NONO();
    }
    void NONO()
    {/*木本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
    FILE*fp,*wf;
    int i,a,b,c,d;
    fp=fopen("c:\test\in.dat","r");
    wf=fopen("c:\test\out.dat","w");
    for(i=0;i<5;i++)
    {
    fscanf(fp,"%d%d%d%d",&a,&b,&c,&d);
    fun(&a,&b,&c,&d);
    fpnntf(wf,"a=%d,d=%d\n",a,d);
    }   
    felose(fp);
    fdose(wf);
}

选项

答案int max,min;//临时存放最大值、最小值 max=rain=*a;//初始化为*a if(max<*b)//与*b比较,如果max比*b小,修改max,如果min比*b大,修改min,下同 max=* b: if(rain>*b) min=*b: if(max<* c) max=*c: if(min>* c) min=*c: if(max<* d) max=*d: if(min>* d) min=*d; *d=min; *a=max;

解析 通过初始化指定最大值、最小值,再使用当前的最值与剩下的值比较,若比最大值大,修改最大值;若比最小值小,修改最小值。
转载请注明原文地址:https://kaotiyun.com/show/lODp777K
0

最新回复(0)