写的什么啊 挺好玩的
第一要说明的是 虽然C++也支持用scanf 和 printf 但是一般不常用 一般用cin 和endl 一般在C语言中常用scanf 和 printf
第二 从格式上说 scanf 的格式错了,针对你所写的而言应该是:
scanf("%d,%d,%d",&a,&b,&c)
第三 max函数中所写的条件并没有包含全部状况 比如说x>z>y的情况你没有说。
第四 max 的return后面跟的数是z也就是主函数中的c 所以程序不管怎么运行 最终结果是c。
综合以上四点 源程序可修改为: (既然你用C语言格式 我也用好了)
/*本程序求最大值*/
#include
void main() //主函数 程序入口
{
int max(int t[3]); //声明要调用的求最大值的函数
int i,a[3]; //i用来做循环变量 数组a用来做输入的三个数
for(i=0;i<3;i++)
{
printf("请输入第%d个值",i+1);
scanf("%d",&a[i]); //将三个数人别存入数组的三个空间里
}
printf("最大值是%d",max(a)); //输出最大值为max(a)的返回值
}
int max(int t[3]) //函数作用为求最大值
{
int i,m; //i作为循环变量,m为最大值
m=t[0]; //我们假设第一个值最大
for(i=1;i<3;i++) //和第i个数比
if(m
}
顺便说一下 max函数中是常用的选出最大值的方法 其实如果把所有情况都列举出来的话,三个值已经很繁琐了,而用这种方法几个值(三个值以上)的最大值都能找出来。
#include
using namespace std;
int main()
{
int max(int x,int y,int z);
int a,b,c,e;
cin>>a>>b>>c;
e=max(a,b,c);
cout<<"The max is :"<
}
int max(int x,int y,int z)
{
int w;
if(x>y && x>z) return x;
if(y>x && y>z) return y;
return z;
}
不明白可以hi我。
#include
using namespace std;
void main()
{
int max(int x,int y);
int a,b,c,m,n;
cout<<"请输入三个数:"<
m=max(a,b);
n=max(m,c);
cout<<"最大的数是:"<
int max(int x,int y)
{
int i;
if (x>=y) i=x;
else i=y;
return(i);
}
方法不唯一。
#include
using namespace std;
int main()
{
int max(int, int, int);
int a,b,c,e;
cin >> a >> b >> c;
e=max(a,b,c);
cout << "max=" << e << endl;
return 0;
}
int max(int x, int y, int z)
{
if(x>y && x>z) return x;
if(y>x && y>z) return y;
return z;
}
scanf("%d,%d,%d", &a,&b,&c);
printf("%d", a>b?(a>c?a:c):(b>c?b:c));