C语言,求a,b,c的最大值,帮忙找错,求指教啊!!!
发布网友
发布时间:2022-05-09 19:34
我来回答
共5个回答
热心网友
时间:2023-10-15 11:45
首先说下错误的地方:
1:max函数的申明你忘记了。或者你应该吧max函数写在main上面。
2:max(int a,int b,int c){} 你再函数定义后面就写了分号。这样后面的函数体就无效了。
3:下面的函数体,括号少一个
正确的代码
#include "stdio.h"
#include "conio.h"
int max(int x,int y,int z)
{
int t;
if(x>y)
{
if(x>z)
{
t=x;
}
else
{
t=z;
}
}
else
{
if(y>z)
{
t=y;
}
else
{
t=z;
}
return(t);
}
}
main()
{
int max(int x,int y,int z);
int a,b,c,d;
printf("please input 3 num:\n");
scanf("%d %d %d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
getch();
}
测试结果:
please input 3 num:
3 5 9
max=9
给个简单版本的
#include "stdio.h"
#include "conio.h"
int max(int a, int b)
{
if (a>b)
return a;
else
return b;
}
main()
{
int a,b,c,d;
printf("please input 3 num:\n");
scanf("%d %d %d",&a,&b,&c);
d=max(max(a,b),c);
printf("max=%d\n",d);
getch();
}
热心网友
时间:2023-10-15 11:45
#include<stdio.h>
void cz() //查找最大最小数
{
int n,max,mix,m,N;
printf("请输入m个数,m=");
scanf("%d",&m);
scanf("%d",&n);
max=n;
mix=n;
for(N=1;N<=m-1;N++)
{
scanf("%d",&n);
if(n>=max)
{
max=n;
mix=mix;
}
else if(mix>=n)
{
max=max;
mix=n;
}
else
{
max=max;
mix=mix;
}
}
printf("最大的数是%d\,最小的书是%d\n",max,mix);
}
int main()
{
cz();
return(0);
}
这是我的程序,我看了你的,函数调用很复杂,可以写得很简单的,你看下,希望对你有帮助
夏
热心网友
时间:2023-10-15 11:45
#include "stdio.h"
main()
{
int a,b,c,max;
printf("输入三个数");
scanf("%d %d %d",&a,&b,&c);
if(a>b)
max=a;
else
max=b;
if(max>c)
max=max;
else
max=c;
printf("最大数max=%d\n",max);
}
这是我自己编的,比较简单,你的不怎么想看,太麻烦,而且有逻辑错误!你的程序好像不能运行,这个问题你还是自己仔细看看吧!
热心网友
时间:2023-10-15 11:46
#include<iostream>
using namespace std;
int main()
{
cout<<"输入数(以0结束)"<<endl;
int m,max,min;
cin>>m;
m=max=min;
while(cin>>m,m!=0)
if(m>max)
max=m;
if(m<min)
m=min;
cout<<max<<endl;
return 0;
}
热心网友
时间:2023-10-15 11:47
你的子函数那里多了一个分号啊。子函数的末尾差一个大括号,你的测试结果有错吗 ?