你第2个调用 min写成max了
[[it] 本帖最后由 走一圈 于 2008-5-11 23:51 编辑 [/it]]
----------------解决方案--------------------------------------------------------
回复 11# 的帖子
谢谢你我将你写的MAIN函数 原代码中的MAIN 函数
编译成功后 输入 1,2,3 但结果是 3,1,2``
输入 3,2,1 结果是 3,1,187
输入 2,1,3 结果是 3,1,2``
虽然不对 但还是谢谢你
----------------解决方案--------------------------------------------------------
程序代码:
/****************************************************
你的后面的if语句中还有未照顾到的可能,另外你的z
值的递归也不对,已经改正过来。
下面的程序是照你的意思写的,不过是把函数搬到了
main前面,运行结果正确,你再看看。
谨作参考。
****************************************************/
#include <stdio.h>
int max(int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
return (z);
}
int min(int x,int y)
{
int z;
if(x<y) z=x;
else z=y;
return (z);
}
void main()
{
int a,b,c,z,t,p;
printf("请输入三个数\n");
scanf("%d,%d,%d",&a,&b,&c);
t=max(a,max(b,c));
z=min(a,min(b,c));
if(a<b&&b<c) p=b;
if(a<c&&c<b) p=c;
if(b<a&&a<c) p=a;
if(b<c&&c<a) p=c;
if(c<a&&a<b) p=a;
if(c<b&&b<a) p=b;
printf("%d,%d,%d",z,p,t);
getch();
}
你的后面的if语句中还有未照顾到的可能,另外你的z
值的递归也不对,已经改正过来。
下面的程序是照你的意思写的,不过是把函数搬到了
main前面,运行结果正确,你再看看。
谨作参考。
****************************************************/
#include <stdio.h>
int max(int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
return (z);
}
int min(int x,int y)
{
int z;
if(x<y) z=x;
else z=y;
return (z);
}
void main()
{
int a,b,c,z,t,p;
printf("请输入三个数\n");
scanf("%d,%d,%d",&a,&b,&c);
t=max(a,max(b,c));
z=min(a,min(b,c));
if(a<b&&b<c) p=b;
if(a<c&&c<b) p=c;
if(b<a&&a<c) p=a;
if(b<c&&c<a) p=c;
if(c<a&&a<b) p=a;
if(c<b&&b<a) p=b;
printf("%d,%d,%d",z,p,t);
getch();
}
----------------解决方案--------------------------------------------------------
他上面写的也没问题 我看是语法错了点小错
----------------解决方案--------------------------------------------------------
#include <stdio.h>
int max(int x,int y);
int min(int x,int y);
void main()
{
int a,b,c;
int max(int x,int y);
int min(int x,int y);
printf("请输入三个数\n");
scanf("%d,%d,%d",&a,&b,&c);
printf(max(a,max(b,c)));
printf(min(a,max(b,c)));
}
int max(int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
return (z);
}
int min(int x,int y)
{
int z;
if(x<y) z=x;
else z=y;
return z;
}
----------------解决方案--------------------------------------------------------
楼上的 只能输出最大和最下中间的呢
----------------解决方案--------------------------------------------------------
回复 16# 的帖子
楼上写的程序自己运行了么?不运行的程序就拿出来帮助人?你的程序我运行了,结果是错误的,不信你试试?
PS:其实楼主写的程序主要是最后几个if的问题,如第2个p=b,应该是错的。我写的是6个if,其实改成3个也行,主要是看着方便些。
----------------解决方案--------------------------------------------------------
回复 16# 的帖子
你的printf就有问题,什么也输不出来的,因为没有“”中的东西。 ----------------解决方案--------------------------------------------------------
不好意思,我才学到变量
----------------解决方案--------------------------------------------------------
是哦 还是调试下再给别人 我主要没VC
如第2个p=b,应该是错的? ..18# 没错啊
----------------解决方案--------------------------------------------------------