黑脸艺术家 发表于 2021-12-1 19:49:34

求问哪一步出错了

2.从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中调用该函数)   

#include<stdio.h>
int main()
{
        int max(int x,int y)
                {
                        int z;
                        z=x>y?:x;y;
                        return (z);
                }
        int a,b,c;
        printf("please enter two numbers:");
        scanf("%d,%d",&a,&b);
        c=max(a,b);
        printf("max is %d\n",c);
        return 0;
}

谢谢

jackz007 发表于 2021-12-1 19:54:55

本帖最后由 jackz007 于 2021-12-1 19:59 编辑

#include<stdio.h>

int max(int x , int y)
{
      return (x > y) ? x : y            ;
}

int main(void)
{
      int a , b                           ;
      printf("please enter two numbers:") ;
      scanf("%d,%d" , & a , & b )         ;
      printf("max is %d\n" , max(a , b));
}

傻眼貓咪 发表于 2021-12-1 19:58:40

#include <stdio.h>

int max(int a, int b){
    return a > b ? a : b;
}

int main()
{
    int a, b;
    printf("输入两个数:");
    scanf("%d%d", &a, &b);
    a != b ? printf("最大值:%d", max(a, b)) : printf("两个数值一样");
    return 0;
}

黑脸艺术家 发表于 2021-12-1 19:58:54

jackz007 发表于 2021-12-1 19:54
改为

如果是想适用于小数的话,比如比较25.6和33.1这两个数,应该怎么改

傻眼貓咪 发表于 2021-12-1 20:01:22

黑脸艺术家 发表于 2021-12-1 19:58
如果是想适用于小数的话,比如比较25.6和33.1这两个数,应该怎么改

#include <stdio.h>

float max(float a, float b){
    return a > b ? a : b;
}

int main()
{
    float a, b;
    printf("输入两个数:");
    scanf("%f%f", &a, &b);
    a != b ? printf("最大值:%.2f", max(a, b)) : printf("两个数值一样");
    return 0;
}

jackz007 发表于 2021-12-1 20:01:45

黑脸艺术家 发表于 2021-12-1 19:58
如果是想适用于小数的话,比如比较25.6和33.1这两个数,应该怎么改

      那你得另外写函数,因为输入参数的类型不一样了,只要重新定义输入参数类型为 float,其它的都不用变。
页: [1]
查看完整版本: 求问哪一步出错了