首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun:在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 #include vo
请编写函数fun:在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 #include vo
admin
2019-03-19
66
问题
请编写函数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()
{/* 本函数用于打开文件,输入数据,
调用函数,输出数据,关闭文件。*/
FTLE *fp,*wf;
int i,a,b,c,d;
fp=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<5;i++)
{fscanf(fp,"%d %d %d %d",&a,
&b,&c,&d);
fun(&a,&b,&c,&d);
fprintf(wf,"a=%d,d=%d\n",a,d);
}
fclose(fp);
fclose(wf);}
选项
答案
void fun (int*a, int*b,int*c, int *d) {int t; if(*a<*b){t=*a; *a=*b;*b=t;} if(*a<*c){t=*a; *a=*c;*c=t;} if(*a<*d){t=*a; *a=*d;*d=t;} if(*b<*c){t=*b; *b=*c;*c=t;} if(*b<*d){t=*b; *b=*d;*d=t;} if(*c<*d){t=*c; *c=*d;*d=t;} }
解析
首先在主函数main中我们需要的就是四个数字,这四个数字需要手动输入,件程序代码第13—15行,四个数字输入完城后就可以进入fun函数进行数据处理了。进入到fun函数中,只要从a到d进行比较,按照一开始的规则即可,如果a大于b,不变,比较a与c,若a小b,a与b交换位置,交换过后a就大于b了,这样就进行a与c的比较;a与c的比较同理,这样的循环比较,就能发现,每比较一次,较大的数字就能交换到a的位置,较小的数字就离a越来越远,也就是到了d的位置,这样就完成了题目所给出的要求了,最大的数字放在a中,最小的数字放在d中。当新的排序排好后,就可以返回主函数进行输出了。
转载请注明原文地址:https://kaotiyun.com/show/H6Rp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有如下变量说明,则a+(int)((int)b+c)>>(int)(b-c)的值为【】。inta=5;floatb=7.2,c=3.6;
下面的程序实现的是指针p所指向的地址的n个数中,求出最大的和最小的数据,请填空。fun(int*p,intn){int*q;intmax,min;max=min=*p;for(q=p;【】
有下列程序:#include<stdio.h>main(){charc;while((c=getchar())!=’,’)putchar(++C);}程序运行时,如果从键盘输入:A,B,<CR>,则输出结
要正确定义并初始化一个数组a,它含有5个元素,则正确的语句是______。
变量p为指针变量,若p=&a,下列说法不正确的有______。
有以下程序:int*f(int*x,int*y){if(*<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;
若有以下类型说明语句:charw;intx;flooaty,z;则表达式w*x+z-y的结果为______类型。
下列叙述中错误的是()。
fseek函数的正确调用形式是
主程序调用findmax函数求出数组中最大元素在数组中的下标,括号中需填写的内容是#include<stdio.h>findmax(int*s,intt,int*k){intp;for(p=0,*k=p;p<t;p+
随机试题
强心苷引起的传导阻滞可选用的治疗药物是
手背各指缝中的赤白肉际,左右共八穴足背各趾缝端凹陷中,左右共八穴
白前的功效是
A市药品监督管理部门在日常监督检查中,发现B药店存在违法经营行为,对其作出警告,限期整改,并处罚金3万元。B药店法人对此处罚不服,决定提出行政复议。下列不属于行政诉讼受案范围的是()
某油田开发建设工程中一新开发的区块位于西北干旱地区,区域面积30km2。新开发区块与已有区块相邻,依托已有联合站。开发建设工程设计年产油3.0×10tt,原油通过新建的70km管线输送至联合站,经脱水除气处理后外输,脱水除气过程产生的天然气不含硫,用作燃气
甲公司为工业企业,对投资性房地产采用成本模式进行后续计量。2×21年1月甲公司以出让的方式取得一宗土地使用权,支付价款为4000万元,预计使用年限为50年,准备建造写字楼,董事会作出了正式书面决议,明确表明建成后将其用于经营出租且持有意图短期内不再发生变化
以下不属于公司法人人格否认制度的适用情形为()。
某地大面积停水,影响居民正常用水,而此时有人传谣,说停水是因为化工厂有害物质泄漏,你怎么处理?
甲公司欠缴税款20万元,税务局工作人员小刘和小孙来甲公司查账时,甲公司总经理王某和其朋友李某组织一伙社会人员挡在公司门口不让税务人员进门,并将税务人员小刘打成重伤。王某的行为构成()
设u=u(x,y),v=v(x,y)有连续的一阶偏导数且满足条件:F(u,v)=0,其中F有连续的偏导数且
最新回复
(
0
)