首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun:在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 1 #include
请编写函数fun:在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 1 #include
admin
2021-04-28
47
问题
请编写函数fun:在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。
注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
1 #include<stdio.h>
2 void NONO();
3 void fun(int *a,int *b,int *c,int*d)
4 {
5 }
6 main()
7 {int a,b,c,d;
8 printf(’’请输入4个整数:’’);
9 scanf(’’%d%d%d%d’’,&a,&b,&c,&d);
10 printf(’’原始顺序:%d,%d,%d,%d\n’’,a,b,c,d);
11 fun(&a,&b,&c,&d);
12 printf(’’处理后:%d,%d,%d,%d\n’’,a,b,c,d);
13 NONO();
14 }
15 void NONO()
16 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
17 FILE *fp,*wf;
18 int i,a,b,c,d;
19 fp=fopen(’’in.dat’’,’’r’’);
20 wf=fopen(’’out.dat’’,’’w’’);
21 for(i=0;i<5;i++)
22 {fscanf(fp,’’%d%d%d%d’’,&a,&b,&c,&d);
23 fun(&a,&b,&c,&d);
24 fprintf(wf,’’a=%d,d=%d\n’’,a,d);
25 }
26 fclose(fp);
27 fclose(wf);}
选项
答案
3 void fun (int *a,int*b,int*c,int*d) 4 {int t; 5 if(*a<b){t=*a;*a=*b;*b=t;} 6 if(*a<*c)(t=*a; *a=*c;*c=t;} 7 if(*a<*d){t=*a; *a=*d;*d=t;} 8 if(*b<*c){t=*b; *b=*c;*c=t;} 9 if(*b<*d){t=*b;*b=*d;*d=t;} 10 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/gttp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序main(){intk=5,n=0;do{switch(k){case1:case3:n+=1;k--;break;default:n=0;k--;case2:case
若有以下程序,编译时出现错误,你认为出错的是#includemain(){inta=0,b=0,c=0,d;c=(a+=b,,b+=a);/*第4行*/d=c;;/*第5行*/;/*第6行*/
以下叙述中正确的是
有以下程序#includevoidfun(char*t,char*s){while(*t!=0)t++;while((*t++=*s++)!=0);}main(){charss[10]="acc",aa[10]="bbxxyy";fun(s
若有定义语句:intx=12,y=8,z;在其后执行语句:z=0.9+x/y;则z的值为()。
下面描述中错误的是
以下叙述中错误的是
设有宏定义:#defineIsDIV(k,n)((k%n==1)?1:0)且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&&IsDIV(m,7)为真时所要表达的是()。
给定程序MODI1.C中函数fun的功能是:将s所指字符串中位于奇数位置的字符或ASCH码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中)。例如,字符串中的数据为:AABBCCDDEEFF,则输出应当是:ABBCDDEFF。请改正函数fun中
随机试题
分泌醛固酮的部位是在()。
空气、水、金属固体的导热系数分别为λ1、λ2、λ3,其大小顺序正确的是()。
甲公司2010年8月因意外事故报废汽车一部,该汽车账面原值360000元,已提折旧150000元,应由保险公司赔偿120000元,以现金支付清理费用1500元,残料变价收入3000元已存入银行。要求:根据上述资料,编制与甲公司固定资产报废有关的会计分录。
邓宁认为,国际企业要能在竞争中战胜当地的竞争对手,就必须拥有某些当地竞争对手不具备的“所有权特定优势”,这些优势包括()
维持药效最长的眼用制剂是()。
施工作业单位应当在()的路段和时间内施工作业,并在距离施工作业地点来车方向安全距离处设置明显的安全警示标志,采取防护措施。
基金收益具有一定的波动性,投资风险较大,银行存款利率相对固定,投资者损失本金的可能性很小,投资相对比较安全。( )
如果某家银行的贷款平均额为700亿元,存款平均额为900亿元,核心存款平均额为300亿元,流动性资产为200亿元,那么该商业银行的融资缺口等于()
14世纪中叶起,欧洲新兴的资产阶级以复兴古希腊、罗马文化为标榜,提倡人文主义,这一思想运动被称为“文艺复兴”。文艺复兴时期产生了许多思想、科学、文学、艺术的巨人,下列属于文艺复兴时期的意大利艺术家的是()。
Whencustomerservicerepresentativesspeaktocustomersoverthephone,theyshouldalwaysspeak_______.
最新回复
(
0
)