首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun:在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 1 #include
请编写函数fun:在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 1 #include
admin
2017-07-27
22
问题
请编写函数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/H7Dp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列关于C语言数据文件的叙述中正确的是()。
下面程序的功能是:输出100以内能被3整除且个位数为9的所有整数,清填空。main(){inti,j;for(i=0;();i++){j=i*10+9;if(j%3!=0)continue;print
若有定义:inta=6,b=8,c=14;接着顺序执行下列语句后,变量c中的值是()。c=(b-=(a-5));a=(c%3)+(a=8);
在C语言中,变量的隐含存储类别是()。
在三级模式之间引入两层映像,其主要功能之一是()。
以下叙述错误的是()。
定义如下变量和数组:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。for(i=0;i<3;i++)printf("%d",x[i][2-i]);
有以下程序:#include<string.h>voidf(charp[][10],intn)/*字符串从小到大排序*/{chart[10];inti,j;for(i=0;i<n-1;i++)fo
队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许删除的一端称作_____________。
下列关于队列的叙述中正确的是
随机试题
慢性胰腺炎五联征指
骨髓增生异常综合征患者的骨髓原始细胞中有Auer小体,见于
()是保证水池整体性、严密性的必要措施。
工程监理人员发现工程设计不符合建筑工程质量标准或者合同约定的质量要求的()。
根据《合同法》的规定,下列关于承担赔偿损失责任构成要件的表述,不正确的是()
发行人、上市公司依法披露的信息,必须真实、准确、完整,不得有()。
某居民企业以其持有的一处房产投资设立一家公司,如不考虑特殊性税务处理,下列关于该投资行为涉及企业所得税处理的表述中,正确的是()。
自我防御机制()
Note:Theactuallecturecontainscolorimages.Thecolorsfromoneimagearediscussedbytheprofessor.Youdonotneedtosee
What’sthenameofthenewserviceontheInternet?Howdoyoupayforthepresentsyouorderthroughtheservice?Bysendingt
最新回复
(
0
)