首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun:在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 1 #include
请编写函数fun:在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 1 #include
admin
2021-04-28
26
问题
请编写函数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全国计算机二级
相关试题推荐
有以下程序#includemain(){inta[5]={2,4,6,8,10},*p,**k;p=a;k=&p;printf("%d",*(p++));printf("%d\n",**k);}程序运
有以下程序#includemain(){intaa[3][3]={{2},{4},{6}},i,*p=&aa[0][0];for(i=0;i
以下定义数组的语句中错误的是
C源程序中不能表示的数制是()。
程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量S总是作为头指针指向链表的第一个结点。若有以下程序段:q=s;s=s->next;p=s;while(p->n
有以下程序#includemain(){inta1,a2;charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通过键盘输入,使得a
有如下嵌套的if语句if(a
给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WfiteText实现。请在程序的下划线处填入正
请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。例如,字符串数组中的M个字符串为AAAABBBBBBBCC则合并后的字符串的内容应是:AAAABBBBBBBCC。提示:strc
随机试题
行政机关受理或者不予受理行政许可申请,应当出具加盖本行政机关专用印章和注明日期的书面凭证()
民族问题表现的范围包括()。
流行性出血热病毒是
在对高程测量,用水平面代替水准面的限度是()。
在证券承销业务中,应注意依据历史上不同的文件规定,对于已设立的股份有限公司的资产评估历史进行( )。
根据《票据法》的规定,支票的下列记载事项中,出票人可以授权补记的是()。
由于冰河期消失、气候转暖,中石器时代的绘画由洞窟转移到露天岩壁。随着人们狩猎工具的进步,对大自然征服力的增强,动物形象在绘画中逐渐减少并失去原始的野性,而人类活动开始成为绘画描绘的主要对象。岩画主要分布在北欧和西班牙的拉文特地区。它们以人类狩猎为主要情节,
明成祖姓名朱棣,其子明仁宗姓名朱高炽,仁宗之子明宣宗姓名朱瞻基,宣宗之子明英宗姓名朱祁镇。从这几位皇帝的名字来看,体现了明朝皇室命名的思想是:
A、 B、 C、 D、 D
设有如下过程:X=1Dox=x+2LoopUntil()运行程序,要求循环体执行3次后结束循环,空白处应填入的语句是()。
最新回复
(
0
)