c语言 输入三个数 按大小排列 输出最大值,看下错在哪了。。。郁闷中
#include<stdio.h>main(){inta,b,c,max;printf("pleaseinputa,b,cdon'tlike1,1,1\n");scanf...
#include<stdio.h>
main()
{
int a,b,c,max;
printf("please input a,b,c don't like 1,1,1\n");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{ max=a;}
else if(max=b)
{ printf("error:a=b\n"); }
else
{ max=b;}
if(max>c)
{ printf("the max is%d\n",max);}
else if(max=c)
{ printf("error: a or b = c\n");}
else{ printf("the max number is %d\n",c); }
} 展开
main()
{
int a,b,c,max;
printf("please input a,b,c don't like 1,1,1\n");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{ max=a;}
else if(max=b)
{ printf("error:a=b\n"); }
else
{ max=b;}
if(max>c)
{ printf("the max is%d\n",max);}
else if(max=c)
{ printf("error: a or b = c\n");}
else{ printf("the max number is %d\n",c); }
} 展开
5个回答
展开全部
IF的嵌套太乱,并且输出了太多的无用信息。
三个排序,设为其a,b,c 思路就是:先比较 a,b,如果a>b 就把a,b调换;再比较a,c,如果a>c 就把a,c调换.这样一来,第一个数必为最小。最后比较二三个数b,c。
三个if语句大括号里面的语句功能都一样,都是把两个数互换。
下面的示例代码输出三个浮点数由小到大的排列。如只需输出最大,输出C即可。
#include<stdio.h>
main()
{
float a,b,c,t;
scanf("%f%f%f",&a,&b,&c);
if (a>b)
{
t=a;a=b;b=t;
}
if (a>c)
{
t=a;a=c;c=t;
}
if (b>c)
{
t=b;b=c;c=t;
}
printf ("the number's follow is %3.2f%.2f %.2f",a,b,c);
}
三个排序,设为其a,b,c 思路就是:先比较 a,b,如果a>b 就把a,b调换;再比较a,c,如果a>c 就把a,c调换.这样一来,第一个数必为最小。最后比较二三个数b,c。
三个if语句大括号里面的语句功能都一样,都是把两个数互换。
下面的示例代码输出三个浮点数由小到大的排列。如只需输出最大,输出C即可。
#include<stdio.h>
main()
{
float a,b,c,t;
scanf("%f%f%f",&a,&b,&c);
if (a>b)
{
t=a;a=b;b=t;
}
if (a>c)
{
t=a;a=c;c=t;
}
if (b>c)
{
t=b;b=c;c=t;
}
printf ("the number's follow is %3.2f%.2f %.2f",a,b,c);
}
展开全部
#include "stdio.h"
void main()
{
int a,b,c,max;
clrscr(); 清屏
printf("please input 3 number:"); 输入三个数
scanf("%d%d%d",&a,&b,&c); 赋值
if(a>b&&a>c) A同时大于B和C
max=a;
else 否则
if(b>a&&b>c) B同时大与A和C
max=b;
else 否则
if(c>a&&c>b) C同时大于B和C
max=c;
printf("The max is %d\n",max);
}
有小数点的话 改成float型 即可 它支持浮点运算
void main()
{
int a,b,c,max;
clrscr(); 清屏
printf("please input 3 number:"); 输入三个数
scanf("%d%d%d",&a,&b,&c); 赋值
if(a>b&&a>c) A同时大于B和C
max=a;
else 否则
if(b>a&&b>c) B同时大与A和C
max=b;
else 否则
if(c>a&&c>b) C同时大于B和C
max=c;
printf("The max is %d\n",max);
}
有小数点的话 改成float型 即可 它支持浮点运算
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的思路应该改一下更合理:首先把a值给max,然后b和max比较,如果b大就把b值给max,然后再拿c和max比较,c大就把c给max,最后输出max。
main()
{
int a,b,c,max;
printf("please input a,b,c don't like 1,1,1\n");
scanf("%d%d%d",&a,&b,&c);
max=a;
if(b>max)
max=b;(b要是小max不变)
else if (c>max)
max=c;
printf("the max is%d\n",max);}
main()
{
int a,b,c,max;
printf("please input a,b,c don't like 1,1,1\n");
scanf("%d%d%d",&a,&b,&c);
max=a;
if(b>max)
max=b;(b要是小max不变)
else if (c>max)
max=c;
printf("the max is%d\n",max);}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
int a,b,c;
printf("请输入三个数:\n");
scanf("%d%d%d",&a,&b,&c);
if (a>b)
{
if (b>c)
{
printf("最大值为%d,最小值为%d\n",a,c);
}
if (b<c)
{
if (a>c)
{
printf("最大值为%d,最小值为%d\n",a,b);
}
else
{
printf("最大值为%d,最小值为%d\n",c,b);
}
}
}
if (a<b)
{
if (b<c)
{
printf("最大值为%d,最小值为%d\n",c,a);
}
if (b>c)
{
if (a<c)
{
printf("最大值为%d,最小值为%d\n",b,a);
}
else
{
printf("最大值为%d,最小值为%d\n",b,c);
}
}
}
return 0;
}
int main()
{
int a,b,c;
printf("请输入三个数:\n");
scanf("%d%d%d",&a,&b,&c);
if (a>b)
{
if (b>c)
{
printf("最大值为%d,最小值为%d\n",a,c);
}
if (b<c)
{
if (a>c)
{
printf("最大值为%d,最小值为%d\n",a,b);
}
else
{
printf("最大值为%d,最小值为%d\n",c,b);
}
}
}
if (a<b)
{
if (b<c)
{
printf("最大值为%d,最小值为%d\n",c,a);
}
if (b>c)
{
if (a<c)
{
printf("最大值为%d,最小值为%d\n",b,a);
}
else
{
printf("最大值为%d,最小值为%d\n",b,c);
}
}
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
缺少一个返回语句,如果a=b,程序max会生成一个随机数,从而继续与后面的c比较,而不是退出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询