首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun:在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 #include vo
请编写函数fun:在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 #include vo
admin
2019-03-19
57
问题
请编写函数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全国计算机二级
相关试题推荐
以下程序的运行结果是_______。#include"stdio.h"main(){inta[]={1,2,3,4,5,6,7,8,9,10,11,12};int*p=a+5,*q=NULL;
有以下程序: #include<string.h> void f(char *s,char *t) {char k; k=*s; +s=*t; *t=k; S++; t--; if(*s) f(s,t);
若执行下述程序时,若从键盘输入6和8时,结果为main(){inta,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;
设有以下语句:inta=1,b=2,c;c=a∧(b<<2);执行后,c的值为()。
下面的程序通过函数average计算数组中各元素的平均值,请填空。floatavetage(int*pa,intn) {inti; floatavg=0.0; for(i=0;i<n;i++); avg
设有定义:structcomplex{intreal,unreal;}datal={1,8},data2;则以下赋值语句中错误的是
以下程序执行后sum的值是______。main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}
有以下程序:int*f(int*x,int*y){if(*<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;
以下4个程序中,完全正确的是
以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算:y1=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6请填空。doublefun(doublex){return(x*x-2*x+6);}{
随机试题
Somepeopleworryaboutmycollectingofthosefascinatingbirdsandanimalsthattheypaytoseeinthezoo.Oneofthequestio
A.痰滞于胃B.饮停于胃C.痰凝肌肤D.痰阻经络纳呆恶心,呕吐痰涎。为
某医院年终对全院职工的基本情况作调查了解,其中有以下情况:死亡一人,医生甲因病在家闲了接近2年,医生丙参与经营未从事医疗两年多,医生丁承包医院的第二门诊三年,其余大多数仍在医院坚持工作,依据执业医师法,下列人员中,属于应当注销注册,收回医师执业证书的是
有机整体的"主宰"是()
(2006年简答题)甲、乙、丙、丁四人共同投资设立A普通合伙企业。合伙协议的部分内容如下:由甲、乙执行合伙企业事务,丙、丁不得过问企业事务;利润和损失由甲、乙、丙、丁平均分配和分担。在执行合伙企业事务过程中,为提高管理水平,甲自行决定聘请王某担任合伙企业经
(2011年)2010年4月6日,甲公司为履行与乙公司的买卖合同,签发一张已经由本公司承兑的商业汇票交付乙公司,汇票收款人为乙公司,到期日为10月6日。4月14日,乙公司将该汇票背书转让给丙公司。9月8日,丙公司持该汇票向其开户银行Q银行办理贴现。该汇票到
周师傅在某单位工作,该单位周一到周五为工作日,周六周日双休。已知某年的8月1日是星期五,那么周师傅在该年8月一共需要出勤()天。
甲、乙、丙、丁四人的车分别是白、黑、红、蓝。在问到他们各自车的颜色时,甲:“乙的不是白色”,乙:“丙的是蓝色”,丙:“丁的不是红色”。丁:“甲、乙、丙三人的车有一个是蓝色,而且只有车的颜色是蓝色的这个人说了实话。”如果丁说的是实话,那么以下说法正确的是哪一
关于十九世纪七八十年代的“边疆危机”下列正确的表述有()
AnewstudypublishedinthejournalProceedingsoftheRoyalSocietyBbytheteamsofDr.GregoryWestandDr.VeroniqueBohbo
最新回复
(
0
)