输入a,b,c三个值,输出其中最大值。

接收三个数值并输出其中最大值

  • 接收三个数值,并输出最大值
#include <stdio.h>

int main()
{
  int max(int x, int y, int z);//定义一个需要被调用的函数
  int a,b,c,e;                 //定义需要接收并输出的变量
  scanf("%d,%d,%d",&a,&b,&c);  //接收需要比较的数值
  e = max(a,b,c);              //将max函数得到的值赋给变量e
  printf("max=%d",e);          //输出最大值
  return 0;                      
}
int max(int x, int y, int z)   //定义要调用的函数
{
  int d;                       //定义要接收最大值的变量
  if(x>y  &&  x>z) d=x;        //如果X大于y和z,则最大值x赋给d
  else if (y>z  &&  y>x) d=y;  //如果y大于x和z,则最大值y赋给d
  else d = z;                  //否则,最大值z赋给d
  return d;                    //将最大值d返回给调用函数max
}
  • 简洁式求三个数最大值
#include <stdio.h>

int main()
{
  int max(int x, int y);
  int a,b,c,d;
  scanf("%d,%d,%d",&a,&b,&c);
  d=max(max(a,b),c);
  printf("max=%d",d);
  return 0;
}
int max(int x, int y)
{
  if(x>y) return x;
  return y;
}

小结

这是我今天在书上看到的一道题目,书上的例题是求两个数的最大值。然后我在做题的过程中不管怎么算,求出来的结果都是输入的第一个数,怎么都找不到问题所在。然后也查了查网上的大神是如何解答的。于是我就照着大神的照猫画虎,结果还是不行,我都要崩溃了。最后的最后,我发现了问题。在我接收三个数值的那句语句中出现了问题。当时的语句是这样的

scanf("%d %d %d ",a,b,c);

可能是因为自己写代码时候疏忽了,本来应该“%d”后面跟的是“,”,结果我写的是空格。然后在输入的过程中,我输入的又是这样的
导致自己纠结了半天,都没搞明白是怎么错的。

所以感觉以后敲代码要细心去敲,不然这种微小的地方真的是很难发现

  • 10
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值