问答题
下列给定程序中,函数fun的功能是:把从主函数中输入的3个数,最大的数放在a中,中间的数放在b中,最小的数放在c中。
例如,若输入的数为:55 12 34,输出的结果应当是:a=55.0,b=34.0,c=120。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动:main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
void fun(float*a,float*b,float*c)
/********found********/
float*k;
if(*a<*b)
k=*a;
*a=*b;
*b=k;
/********found********/
if(*a,*c)
k=*c;
*c=*a;
*a=k;
if(*b<*c)
k=*b;
*b=*c;
*c=k;
main()
float a,b,c;
printf("Input a b c:");
scanf("%f%f%f",&a,&b,&c);
printf("a=%4.1f,b=%4.1f,c=%4.1f\n\n",a,b,c);
fun(&a,&b,&c);
printf("a=%4.1f,b=%4.1f,c=%4.1f\n\n",a,b,c);
【参考答案】
float k; (2)if(*a<*c)
点击查看答案&解析
<上一题
目录
下一题>
热门
试题
问答题
下列给定程序中,函数fun的功能是:将形参a所指数组中的前半部分元素中的值与后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。 例如,若a所指数组中的数据为:1,2,3,4,S,6,7,8,9,则调换后为:6,7,8,9,5,1,2,3,4。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #incIude<stdio.h> #define N 9 void fun[int a[],int n) int i,t,p; ********found******** p=(n%2==0)n 2;n 2+ (1) ; for(i=0;i<n 2;i++) f=a[i]; ********fodnd******** a[i]=a[p+ (2) ]; ********found******** (3) =t; maln() int b[N]=1,2,3,4,5,6,7,8,9,i; printf( nThe original data: n ); for(i=0;i<N;i++) printf( %4D,b[i]); printf( n ); fun(b,N); printf( nThe daca after moving: n ); for(i=0;i<N;i++) printf( %4d ,b[i]); printf( n );
点击查看答案&解析
相关试题
学生的记录由学号和成绩组成,N名学生的数...