C语言编程,求 比较3个数大小 的程序

2020-07-05

C语言编程,求 比较3个数大小 的程序


#include
void main ()
{ float a,b,c,d;
printf ("请输入三");
scanf ("%f,%f,%f",&a,&b,&c);
if (a>b)
{d=a;a=b;b=d;}
if (a>c)
{d=a;a=c;c=d;}
if (b>c)
{d=b;b=c;c=d;}
printf ("从小到大排列为:%.2f,%.2f,%.2f",a,b,c);
printf ("三个数中最大为:%.2f,为:%.2f",c,a);
}
可比较和小数。#include
main()
{
int a,b,c;
printf("入数");
scanf("%d%d%d",&a,&b,&c);
if(aa=b;
else
if(aa=c;
else
if(bb=c;
printf("a=%d,b=%d,c=%d",a,b,c)
}
编程求三个数中最大的

#include int main(void){int a,b,c,max;printf("输入三个数: ");scanf("%d, %d, %d",&a,&b,&c);max=a;if(max资料:

printf使用注意事项1、%d:按整型数据的实际长出。如果想输出指定宽度可以指定域宽,%md-->m域宽,打印出来以后,在控制台上,显示m位;如果我们要打印的数的位数如果超过我们设定m则原样输出;如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:如果m为正数,则左对齐(左侧补空白);如果m为负数,则右对齐(右侧补空白)。2、转义字符如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。如:printf("%f%%",1.0/3);输出结果:0.333333%。

#include
main()
{
float a,b,c,max;
scanf("%f%f%f",&a,&b,&c);//输入三个数,进行判断
max=a;//假设第一个数是最大
if(maxif(maxprintf("max=%.2f\n",max);//输出最大数
}本回答被网友采纳你的不对,你的scanf("%d,%d,%d"中间是以格开的,所以你在输入值的时候也要逗号格式,即在程序运行后输如
10,36,9

你的程序中把两处if(x>y,x>z)中的逗号,改成&&,即
if(x>y && x>z)
if(y>x && y>z)其实一个宏就可以解决#define 部分#include
#define MAX(a,b,c) (a)>(b)?((a)>(c)?(a):(c)):((b)>(c)?(b):(c))
void main()
{
int a = 10,b = 5,c = 7;
printf("%d\n",MAX(a,b,c));
system("pause");
}#include//标准I/O#include//工具函数public inline int max(int a,int b,int c)//对每个的相对与另两个的比较,内联函数,不知行不{if (a>b&&a>c) return a;if (c>b&&c>a) return c;if (b>a&&b>c) return b;}int main(){int a,b,c;//要化替换成:int a=12 ,b=7,c=4或让用户按要求输入printf(" a,b,c 中,最大的数是:%d\n",max(a,b,c));getch();//也可以用system("pause");使用系统命令的延迟等待}使用楼上的宏命令也不错!我很欣赏他的设计,但我想你不太懂宏定义吧!#define MAX(a,b,c) (a)>(b)?((a)>(c)?(a):(c)):((b)>(c)?(b):(c))//这个可以替换我写的max函数
C语言编程,求 比较3个数大小 的程序
{d=a;a=b;b=d;}//意思(思路)为啥这样写?
d在前面定了,在这里间值用来交换a,b的值的,如果a>b,就把a,b一下,确保a,b是按ac)是确保ac)是确保b
,你要明确,“=”在C语言中,不是“等于”的意而是“赋值”!!
这很关键!

这三条语句的意是:把a的值赋给d,再把b的值赋给a,最后把d的值赋给b

这样一轮过后,你会发现a,b的值交换了。d就是一个中间变量。

放到程序中去理解,就是如果a>b,就把a,b交换。

b中的值最大。

为什么不直接写“a = b”呢?就是因为“=”的含义是“赋值”!!把b赋给a之后,a就是b的值,那么a的值就被覆盖掉了。本回答被网友采纳你实际放到变量ab中就知道了{d=a;a=b;b=d;}//把a的值放到d中,b的值放到a中,最后再把d的值,实际上就是时a的值放到b中,于是a和b的值就交换了,现在的a,b就是开始时的b,a。就是用到两个数的交换,d是中间变量。三个选择实现由小到大的排练。a是一瓶水,
b是一瓶水,
如果a里的水比b里的水重,就将两个瓶子里的水交换。
因此需要用到
d这个空瓶子。
比较三个数的大小 编程

main函数中没东西,分号用的是中,还有些细节有问题,大致改下:#include
intmain()
{
inta,b,max,x,y,z;
printf("inputx,y,z:");
scanf("%d,%d,%d,",&x,&y,&z);
if(x>y)a=x;
elsea=y;
if(z>a)b=z;
elseb=a;
printf("themaxis%d",b);
return0;
}

还有不懂可以问我。

追问

main是主函数,老师说是必须有的

int a,b,max,x,y,z;中max 有什么用

不写可以吗?追答

可以,忘记删了。