两道C语言的题,求解(高分)

第一题:请编写函数,对传送过来的两个浮点数求出和值与差值,并通过形参传送回调用函数。第二题:请编写函数,对传送过来的三个数选出最大和最小数,并通过形参传回调用函数多谢啦....... 第一题:请编写函数,对传送过来的两个浮点数求出和值与差值,并通过形参传送回调用函数。
第二题:
请编写函数,对传送过来的三个数选出最大和最小数,并通过形参传回调用函数

多谢啦....
展开
 我来答
远望的小白鲨
2009-05-12 · TA获得超过1941个赞
知道小有建树答主
回答量:296
采纳率:0%
帮助的人:0
展开全部
第一题:
#include <stdio.h>
float he(float a,float b);
float cha(float a,float b);

void main()
{
float x,y,s,c;
printf("请输入两个浮点数: ");
scanf("%f%f",&x,&y);
s=he(x,y);
c=cha(x,y);
printf("两个浮点数的和值是%.2f\n",s);
printf("两个浮点数的差值是%.2f\n",c);
}
float he(float a,float b)
{
return a+b;
}
float cha(float a,float b)
{
if (a>=b)
return a-b;
else
return b-a;
}
第二题:
#include <stdio.h>
int max(int a,int b,int c);
int min(int a,int b,int c);
void main()
{
int x,y,z;
printf("请输入三个数:");
scanf("%d%d%d",&x,&y,&z);
printf("三个数选出最大数是%d\n",max(x,y,z));
printf("三个数选出最小数是%d\n",min(x,y,z));
}
int max(int a,int b,int c)
{
if (a>=b&&a>=c)
return a;
if (b>=a&&b>=c)
return b;
else
return c;
}
int min(int a,int b,int c)
{
if (a<=b&&a<=c)
return a;
if (b<=a&&b<=c)
return b;
else
return c;
}
hjjandy
2009-05-12 · TA获得超过535个赞
知道小有建树答主
回答量:215
采纳率:0%
帮助的人:0
展开全部
#include <stdio.h>
void for_two_float(float a, float b, float* he, float* cha)
{
*he = a + b;
*cha = a - b;
}
void max_min(float a, float b, float c, float* max, float* min)
{
*max = *min = a;
if (*max < b)
{
*max = b;
}
else
{
*min = b;
}
if (*max < c)
{
*max = c;
}
else if (*min > c)
{
*min = c;
}
}
int main(int argc, char *argv[])
{
float a = 10.0;
float b = 2.8;
float c = 3.4;
float he, cha, max, min;
for_two_float(a, b, &he, &cha);
max_min(a, b, c, &max, &min);
printf("he = %f; cha = %f\n", he, cha);
printf("max = %f; min = %f\n", max, min);

return 0;
}
因为C语言中或者说我的VC2005不支持函数形参的引用调用(float& he),所以只有使用指针达到目的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友73cfffe81
2009-05-12 · TA获得超过300个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:406万
展开全部
#include <stdio.h>
#include <stdlib.h>

void cal(double num1,double num2,double *sum,double *sub)
{
*sum=num1+num2;
*sub=num1-num2;
}
void maxmin(double num1,double num2,double num3,double *max,double *min)
{
*max=(num1>num2?num1:num2)>num3?(num1>num2?num1:num2):num3;
*min=(num1>num2?num2:num1)>num3?num3:(num1>num2?num2:num1);
}
int main(int argc, char *argv[])
{

double a=3,b=2,c=5,sum,sub,max,min;
cal(a,b,&sum,&sub);
maxmin(a,b,c,&max,&min);
printf("%lf\n%lf\n%lf\n%lf",sum,sub,max,min);
system("PAUSE");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦想窗外
2009-05-12 · TA获得超过1588个赞
知道大有可为答主
回答量:1180
采纳率:0%
帮助的人:1585万
展开全部
#include <stdio.h>

void func1(float a, float b, float *sum, float *diff)
{
*sum = a + b;
*diff = a - b;
}

void func2(int a, int b, int c, int *max, int *min)
{
*max = ((a > b) ? (a > c ? a : c) : (b > c ? b : c));
*min = ((a < b) ? (a < c ? a : c) : (b < c ? b : c));
}

void main()
{
float a = 3.5f, b = 4.2f;
float sum, diff;
func1(a, b, &sum, &diff);
printf("%f %f\n", sum, diff);
int max, min;
func2(87583, 87574, 87589, &max, &min);
printf("%d %d\n", max, min);

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhaigangvvv
2009-05-12 · TA获得超过348个赞
知道小有建树答主
回答量:1190
采纳率:0%
帮助的人:594万
展开全部
建议你先看看c程序设计
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式