注册 登录
编程论坛 C++教室

帮帮我!我不动函数的调用!用这个错误的例子帮我讲讲!该怎么弄?我想求三个数的最大值!用函数调用的方法!

aa449708169 发布于 2010-12-22 22:11, 3678 次点击
include<stdio.h>
void main()
{int max(int a)
int c;
c=max(a);
}
int max(sum)
{int d,e,f;
printf("请输入三个整数\n:");
scanf(%d%d%d,&d&e&f);
if(d>e&&e>f)
sum=d;
return(sum);
}
printf("最大值是:%d\n");
12 回复
#2
qq10235692232010-12-23 09:20
首先我有一个问题:楼主你会不会C语言?你写的代码让我无语了好一会儿。帮你改一下:
include<stdio.h>
void main()
 {
 int max(void); //声明
 int c;
 c=max();
 printf("最大值是:%d\n",c);
 }
int max(void)  //无参数
{
  int d,e,f;
  int i,j,k;
  printf("请输入三个整数:");
  scanf(%d%d%d",&d,&e,&f);
  i=d>e?d:e;  //这个你知道什么意思吧?
  j=e>f?e:f;
  k=i>j?i:j;
  return k;
  }
#3
xishui7772010-12-23 10:38
#include<iostream>
using namespace std;
int max(int &x,int &y)
{
   return (x>y?x:y);
}
int main()
{
   int a,b,c;
   cout<<"输出任意三个整数:";
   cin>>a>>b>>c;
   cout<<"最大值是:"<<max(a,max(b,c))<<endl;
   system("pause");
   return 0;
}
#4
aa4497081692010-12-23 21:37
回复 2楼 qq1023569223
哇!写得真好,不过我还是有不懂!在main函数中的int max(void);括号里用void是什么目的啊?解释一下谢谢!
#5
玩出来的代码2010-12-23 21:42
void表示无参数,写不写都可。函数声明最后发在函数体外。int main()是好的做法.
#6
aa4497081692010-12-23 21:45
回复 3楼 xishui777
好多看不懂!我是初学者啊!通俗易懂好些!
#7
zhanhb2010-12-23 23:51
#include<stdio.h>
max(int a,int b,int c)
{
return (a>b?a:b)>c?(a>b?a:b):c);
}
main()
{
int a,b,c;
printf("请输入三个数:\n");
scanf("%d%d%d",&a,&b,&c);
printf("%d\n",max(a,b,c));
}
#8
南国利剑2010-12-24 02:36
程序代码:

//
//本代码已经于GNU  gcc 编译通过并运行正常
//南国利剑
//
#include<stdio.h>

int Max(int,int,int);

int main(int argc ,char* argv[])
{
    int a,b,c,max;
    a = b = c = max =0;
    printf("请输入三个整数:\n");
    scanf("%d%d%d",&a,&b,&c);

    max = Max(a,b,c);//调用函数求出最大值
   

    printf("max = %d\n", max);
   

    return 0;
      

}

int Max(int a,int b,int c)
{
    return (a > b ?(a > c ? a : c ):(b > c ? b : c));

}

#9
南国利剑2010-12-24 02:44
这个是比较简单易懂的。
程序代码:

//
//本代码已经于GNU  gcc 编译通过并运行正常
//南国利剑
//
#include<stdio.h>

int Max(int,int,int);

int main(int argc ,char* argv[])
{
    int a,b,c,max;
    a = b = c = max =0;
    printf("请输入三个整数:\n");
    scanf("%d%d%d",&a,&b,&c);

    max = Max(a,b,c);//调用函数求出最大值
   

    printf("max = %d\n", max);
   

    return 0;
      

}

int Max(int a,int b,int c)
{
    int max = 0;

    max = a;//先默认第一个数是最大

    if(max < b)//如果发现比当前的最大的还大的数就覆盖当前最大数
        max = b;
   

    if(max < c)
        max = c;
   

    return max;

}

#10
rainbow12010-12-24 13:04
建议楼主看看9楼的。易懂。
#11
aa4497081692010-12-24 13:22
回复 5楼 玩出来的代码
哦!这下懂了!谢谢啊!
#12
aa4497081692010-12-24 13:31
回复 9楼 南国利剑
谢谢大哥的指点!写的很清晰!但是我还有不懂得地方!int main(int argc ,char* argv[])
括号里的是什么意思呢、还有return 0 有什么用处啊?可以解释一下吗?谢谢
#13
aa4497081692010-12-24 17:58
回复 9楼 南国利剑
你讲的好清楚!我们老师可没这耐心!真是谢谢你呀!顶
1